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