001    //
002    // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
003    // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004    // Any modifications to this file will be lost upon recompilation of the source schema. 
005    // Generated on: 2009.09.21 at 10:35:38 PM UTC 
006    //
007    
008    
009    package org.jomc.model;
010    
011    import java.io.ByteArrayInputStream;
012    import java.io.ByteArrayOutputStream;
013    import java.io.IOException;
014    import java.io.InvalidClassException;
015    import java.io.NotSerializableException;
016    import java.io.ObjectInputStream;
017    import java.io.ObjectOutputStream;
018    import java.io.OptionalDataException;
019    import java.io.Serializable;
020    import java.io.StreamCorruptedException;
021    import java.lang.reflect.Array;
022    import java.lang.reflect.InvocationTargetException;
023    import java.math.BigDecimal;
024    import java.math.BigInteger;
025    import java.util.ArrayList;
026    import java.util.Calendar;
027    import java.util.Currency;
028    import java.util.Date;
029    import java.util.Iterator;
030    import java.util.List;
031    import java.util.Locale;
032    import java.util.TimeZone;
033    import java.util.UUID;
034    import javax.annotation.Generated;
035    import javax.xml.bind.JAXBElement;
036    import javax.xml.bind.annotation.XmlAccessType;
037    import javax.xml.bind.annotation.XmlAccessorType;
038    import javax.xml.bind.annotation.XmlAnyElement;
039    import javax.xml.bind.annotation.XmlAttribute;
040    import javax.xml.bind.annotation.XmlType;
041    import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
042    import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
043    import javax.xml.datatype.Duration;
044    import javax.xml.datatype.XMLGregorianCalendar;
045    import javax.xml.namespace.QName;
046    import org.w3c.dom.Element;
047    
048    
049    /**
050     * Model of a message.
051     * <p>A message consists of the properties {@code name}, {@code template} and
052     * {@code arguments}. Property {@code name} holds a name uniquely identifying the
053     * message in a set of messages. Property {@code template} holds the template of
054     * the message. Property {@code arguments} holds meta-data describing arguments to
055     * format the message with.</p>
056     * 
057     * 
058     * 
059     */
060    @XmlAccessorType(XmlAccessType.FIELD)
061    @XmlType(name = "Message", propOrder = {
062        "template",
063        "arguments",
064        "any"
065    })
066    @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
067    public class Message
068        extends ModelObject
069        implements Cloneable
070    {
071    
072        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
073        protected Texts template;
074        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
075        protected Arguments arguments;
076        @XmlAnyElement(lax = true)
077        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
078        protected List<Object> any;
079        @XmlAttribute(required = true)
080        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
081        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
082        protected String name;
083    
084        /**
085         * Creates a new {@code Message} instance.
086         * 
087         */
088        public Message() {
089             // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
090            super();
091        }
092    
093        /**
094         * Creates a new {@code Message} instance by deeply copying a given instance.
095         * 
096         * @param o
097         *     The instance to copy or {@code null}.
098         */
099        public Message(final Message o) {
100             // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
101            super(o);
102            if (o!= null) {
103                {
104                    // CClassInfo: org.jomc.model.Texts
105                    this.template = ((((Texts) o.getTemplate()) == null)?null:((Texts) o.getTemplate()).clone());
106                    // CClassInfo: org.jomc.model.Arguments
107                    this.arguments = ((((Arguments) o.getArguments()) == null)?null:((Arguments) o.getArguments()).clone());
108                    // 'Any' collection.
109                    copyAny(o.getAny(), getAny());
110                    // CBuiltinLeafInfo: java.lang.String
111                    this.name = ((String) o.getName());
112                }
113            }
114        }
115    
116        /**
117         * The template of this message.
118         * 
119         * @return
120         *     possible object is
121         *     {@link Texts }
122         *     
123         */
124        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
125        public Texts getTemplate() {
126            return template;
127        }
128    
129        /**
130         * Sets the value of the template property.
131         * 
132         * @param value
133         *     allowed object is
134         *     {@link Texts }
135         *     
136         */
137        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
138        public void setTemplate(Texts value) {
139            this.template = value;
140        }
141    
142        /**
143         * The arguments of this message.
144         * 
145         * @return
146         *     possible object is
147         *     {@link Arguments }
148         *     
149         */
150        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
151        public Arguments getArguments() {
152            return arguments;
153        }
154    
155        /**
156         * Sets the value of the arguments property.
157         * 
158         * @param value
159         *     allowed object is
160         *     {@link Arguments }
161         *     
162         */
163        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
164        public void setArguments(Arguments value) {
165            this.arguments = value;
166        }
167    
168        /**
169         * Gets the value of the any property.
170         * 
171         * <p>
172         * This accessor method returns a reference to the live list,
173         * not a snapshot. Therefore any modification you make to the
174         * returned list will be present inside the JAXB object.
175         * This is why there is not a <CODE>set</CODE> method for the any property.
176         * 
177         * <p>
178         * For example, to add a new item, do as follows:
179         * <pre>
180         *    getAny().add(newItem);
181         * </pre>
182         * 
183         * 
184         * <p>
185         * Objects of the following type(s) are allowed in the list
186         * {@link Element }
187         * {@link Object }
188         * 
189         * 
190         */
191        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
192        public List<Object> getAny() {
193            if (any == null) {
194                any = new ArrayList<Object>();
195            }
196            return this.any;
197        }
198    
199        /**
200         * The name of this message.
201         * 
202         * @return
203         *     possible object is
204         *     {@link String }
205         *     
206         */
207        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
208        public String getName() {
209            return name;
210        }
211    
212        /**
213         * Sets the value of the name property.
214         * 
215         * @param value
216         *     allowed object is
217         *     {@link String }
218         *     
219         */
220        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
221        public void setName(String value) {
222            this.name = value;
223        }
224    
225        /**
226         * Copies all values of property {@code Any} deeply.
227         * 
228         * @param target
229         *     The target to copy {@code source} to.
230         * @param source
231         *     The source to copy from.
232         * @throws NullPointerException
233         *     if {@code source} or {@code target} is {@code null}.
234         */
235        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
236        private static void copyAny(final List<Object> source, final List<Object> target) {
237            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
238            if (!source.isEmpty()) {
239                for (Iterator it = source.iterator(); it.hasNext(); ) {
240                    final Object next = it.next();
241                    if (next instanceof Element) {
242                        // CWildcardTypeInfo: org.w3c.dom.Element
243                        target.add(((Element)((Element) next).cloneNode(true)));
244                        continue;
245                    }
246                    if (next instanceof Object) {
247                        // CBuiltinLeafInfo: java.lang.Object
248                        target.add(copyOfObject(((Object) next)));
249                        continue;
250                    }
251                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
252                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Any' of class 'org.jomc.model.Message'."));
253                }
254            }
255        }
256    
257        /**
258         * Creates and returns a deep copy of a given object.
259         * 
260         * @param o
261         *     The instance to copy or {@code null}.
262         * @return
263         *     A deep copy of {@code o} or {@code null} if {@code o} is {@code null}.
264         */
265        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
266        private static Object copyOfObject(final Object o) {
267            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
268            if (o!= null) {
269                if (o.getClass().isPrimitive()) {
270                    return o;
271                }
272                if (o.getClass().isArray()) {
273                    return copyOfArray(o);
274                }
275                if (o instanceof Boolean) {
276                    return o;
277                }
278                if (o instanceof Byte) {
279                    return o;
280                }
281                if (o instanceof Character) {
282                    return o;
283                }
284                if (o instanceof Double) {
285                    return o;
286                }
287                if (o instanceof Enum) {
288                    return o;
289                }
290                if (o instanceof Float) {
291                    return o;
292                }
293                if (o instanceof Integer) {
294                    return o;
295                }
296                if (o instanceof Long) {
297                    return o;
298                }
299                if (o instanceof Short) {
300                    return o;
301                }
302                if (o instanceof String) {
303                    return o;
304                }
305                if (o instanceof BigDecimal) {
306                    return o;
307                }
308                if (o instanceof BigInteger) {
309                    return o;
310                }
311                if (o instanceof UUID) {
312                    return o;
313                }
314                if (o instanceof QName) {
315                    return o;
316                }
317                if (o instanceof Duration) {
318                    return o;
319                }
320                if (o instanceof Currency) {
321                    return o;
322                }
323                if (o instanceof XMLGregorianCalendar) {
324                    return ((XMLGregorianCalendar) o).clone();
325                }
326                if (o instanceof Date) {
327                    return ((Date) o).clone();
328                }
329                if (o instanceof Calendar) {
330                    return ((Calendar) o).clone();
331                }
332                if (o instanceof TimeZone) {
333                    return ((TimeZone) o).clone();
334                }
335                if (o instanceof Locale) {
336                    return ((Locale) o).clone();
337                }
338                if (o instanceof Element) {
339                    return ((Element)((Element) o).cloneNode(true));
340                }
341                if (o instanceof JAXBElement) {
342                    return copyOFJAXBElement(((JAXBElement) o));
343                }
344                try {
345                    return o.getClass().getMethod("clone", ((Class[]) null)).invoke(o, ((Object[]) null));
346                } catch (NoSuchMethodException e) {
347                    if (o instanceof Serializable) {
348                        return copyOfSerializable(((Serializable) o));
349                    }
350                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
351                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
352                } catch (IllegalAccessException e) {
353                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
354                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
355                } catch (InvocationTargetException e) {
356                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
357                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
358                } catch (SecurityException e) {
359                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
360                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
361                } catch (IllegalArgumentException e) {
362                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
363                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
364                } catch (ExceptionInInitializerError e) {
365                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
366                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
367                }
368            }
369            return null;
370        }
371    
372        /**
373         * Creates and returns a deep copy of a given array.
374         * 
375         * @param array
376         *     The array to copy or {@code null}.
377         * @return
378         *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
379         */
380        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
381        private static Object copyOfArray(final Object array) {
382            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
383            if (array!= null) {
384                if (array.getClass() == boolean[].class) {
385                    return copyOf(((boolean[]) array));
386                }
387                if (array.getClass() == byte[].class) {
388                    return copyOf(((byte[]) array));
389                }
390                if (array.getClass() == char[].class) {
391                    return copyOf(((char[]) array));
392                }
393                if (array.getClass() == double[].class) {
394                    return copyOf(((double[]) array));
395                }
396                if (array.getClass() == float[].class) {
397                    return copyOf(((float[]) array));
398                }
399                if (array.getClass() == int[].class) {
400                    return copyOf(((int[]) array));
401                }
402                if (array.getClass() == long[].class) {
403                    return copyOf(((long[]) array));
404                }
405                if (array.getClass() == short[].class) {
406                    return copyOf(((short[]) array));
407                }
408                final int len = Array.getLength(array);
409                final Object copy = Array.newInstance(array.getClass().getComponentType(), len);
410                for (int i = (len- 1); (i >= 0); i--) {
411                    Array.set(copy, i, copyOfObject(Array.get(array, i)));
412                }
413                return copy;
414            }
415            return null;
416        }
417    
418        /**
419         * Creates and returns a deep copy of a given array.
420         * 
421         * @param array
422         *     The array to copy or {@code null}.
423         * @return
424         *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
425         */
426        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
427        private static boolean[] copyOf(final boolean[] array) {
428            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
429            if (array!= null) {
430                final boolean[] copy = ((boolean[]) Array.newInstance(array.getClass().getComponentType(), array.length));
431                System.arraycopy(array, 0, copy, 0, array.length);
432                return copy;
433            }
434            return null;
435        }
436    
437        /**
438         * Creates and returns a deep copy of a given array.
439         * 
440         * @param array
441         *     The array to copy or {@code null}.
442         * @return
443         *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
444         */
445        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
446        private static byte[] copyOf(final byte[] array) {
447            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
448            if (array!= null) {
449                final byte[] copy = ((byte[]) Array.newInstance(array.getClass().getComponentType(), array.length));
450                System.arraycopy(array, 0, copy, 0, array.length);
451                return copy;
452            }
453            return null;
454        }
455    
456        /**
457         * Creates and returns a deep copy of a given array.
458         * 
459         * @param array
460         *     The array to copy or {@code null}.
461         * @return
462         *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
463         */
464        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
465        private static char[] copyOf(final char[] array) {
466            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
467            if (array!= null) {
468                final char[] copy = ((char[]) Array.newInstance(array.getClass().getComponentType(), array.length));
469                System.arraycopy(array, 0, copy, 0, array.length);
470                return copy;
471            }
472            return null;
473        }
474    
475        /**
476         * Creates and returns a deep copy of a given array.
477         * 
478         * @param array
479         *     The array to copy or {@code null}.
480         * @return
481         *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
482         */
483        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
484        private static double[] copyOf(final double[] array) {
485            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
486            if (array!= null) {
487                final double[] copy = ((double[]) Array.newInstance(array.getClass().getComponentType(), array.length));
488                System.arraycopy(array, 0, copy, 0, array.length);
489                return copy;
490            }
491            return null;
492        }
493    
494        /**
495         * Creates and returns a deep copy of a given array.
496         * 
497         * @param array
498         *     The array to copy or {@code null}.
499         * @return
500         *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
501         */
502        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
503        private static float[] copyOf(final float[] array) {
504            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
505            if (array!= null) {
506                final float[] copy = ((float[]) Array.newInstance(array.getClass().getComponentType(), array.length));
507                System.arraycopy(array, 0, copy, 0, array.length);
508                return copy;
509            }
510            return null;
511        }
512    
513        /**
514         * Creates and returns a deep copy of a given array.
515         * 
516         * @param array
517         *     The array to copy or {@code null}.
518         * @return
519         *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
520         */
521        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
522        private static int[] copyOf(final int[] array) {
523            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
524            if (array!= null) {
525                final int[] copy = ((int[]) Array.newInstance(array.getClass().getComponentType(), array.length));
526                System.arraycopy(array, 0, copy, 0, array.length);
527                return copy;
528            }
529            return null;
530        }
531    
532        /**
533         * Creates and returns a deep copy of a given array.
534         * 
535         * @param array
536         *     The array to copy or {@code null}.
537         * @return
538         *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
539         */
540        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
541        private static long[] copyOf(final long[] array) {
542            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
543            if (array!= null) {
544                final long[] copy = ((long[]) Array.newInstance(array.getClass().getComponentType(), array.length));
545                System.arraycopy(array, 0, copy, 0, array.length);
546                return copy;
547            }
548            return null;
549        }
550    
551        /**
552         * Creates and returns a deep copy of a given array.
553         * 
554         * @param array
555         *     The array to copy or {@code null}.
556         * @return
557         *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
558         */
559        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
560        private static short[] copyOf(final short[] array) {
561            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
562            if (array!= null) {
563                final short[] copy = ((short[]) Array.newInstance(array.getClass().getComponentType(), array.length));
564                System.arraycopy(array, 0, copy, 0, array.length);
565                return copy;
566            }
567            return null;
568        }
569    
570        /**
571         * Creates and returns a deep copy of a given {@code JAXBElement} instance.
572         * 
573         * @param element
574         *     The instance to copy or {@code null}.
575         * @return
576         *     A deep copy of {@code element} or {@code null} if {@code element} is {@code null}.
577         */
578        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
579        private static JAXBElement copyOFJAXBElement(final JAXBElement element) {
580            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
581            if (element!= null) {
582                final JAXBElement copy = new JAXBElement(element.getName(), element.getDeclaredType(), element.getScope(), element.getValue());
583                copy.setNil(element.isNil());
584                copy.setValue(copyOfObject(copy.getValue()));
585                return copy;
586            }
587            return null;
588        }
589    
590        /**
591         * Creates and returns a deep copy of a given {@code Serializable}.
592         * 
593         * @param serializable
594         *     The instance to copy or {@code null}.
595         * @return
596         *     A deep copy of {@code serializable} or {@code null} if {@code serializable} is {@code null}.
597         */
598        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
599        private static Serializable copyOfSerializable(final Serializable serializable) {
600            // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
601            if (serializable!= null) {
602                try {
603                    final ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
604                    final ObjectOutputStream out = new ObjectOutputStream(byteArrayOutput);
605                    out.writeObject(serializable);
606                    out.close();
607                    final ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(byteArrayOutput.toByteArray());
608                    final ObjectInputStream in = new ObjectInputStream(byteArrayInput);
609                    final Serializable copy = ((Serializable) in.readObject());
610                    in.close();
611                    return copy;
612                } catch (SecurityException e) {
613                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
614                } catch (ClassNotFoundException e) {
615                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
616                } catch (InvalidClassException e) {
617                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
618                } catch (NotSerializableException e) {
619                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
620                } catch (StreamCorruptedException e) {
621                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
622                } catch (OptionalDataException e) {
623                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
624                } catch (IOException e) {
625                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
626                }
627            }
628            return null;
629        }
630    
631        /**
632         * Creates and returns a deep copy of this object.
633         * 
634         * 
635         * @return
636         *     A deep copy of this object.
637         */
638        @Override
639        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-09-21T10:35:38+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
640        public Message clone() {
641             // CC-XJC Version 1.0 Build 2009-09-18T15:48:40+0000
642            return new Message(this);
643        }
644    
645    }