CPD Results

The following document contains the results of PMD's CPD 5.0.2.

Duplications

FileLine
org/jomc/model/Argument.java279
org/jomc/model/Dependency.java427
org/jomc/model/Implementation.java699
org/jomc/model/Instance.java459
org/jomc/model/Message.java359
org/jomc/model/Module.java419
org/jomc/model/Person.java251
org/jomc/model/Specification.java465
                throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Any' of class 'org.jomc.model.Argument'."));
            }
        }
    }

    /**
     * Creates and returns a deep copy of a given object.
     * 
     * @param o
     *     The instance to copy or {@code null}.
     * @return
     *     A deep copy of {@code o} or {@code null} if {@code o} is {@code null}.
     */
    @SuppressWarnings("unchecked")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static Object copyOf(final Object o) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        try {
            if (o!= null) {
                if (o.getClass().isPrimitive()) {
                    return o;
                }
                if (o.getClass().isArray()) {
                    return copyOfArray(o);
                }
                // Immutable types.
                if (o instanceof Boolean) {
                    return o;
                }
                if (o instanceof Byte) {
                    return o;
                }
                if (o instanceof Character) {
                    return o;
                }
                if (o instanceof Double) {
                    return o;
                }
                if (o instanceof Enum) {
                    return o;
                }
                if (o instanceof Float) {
                    return o;
                }
                if (o instanceof Integer) {
                    return o;
                }
                if (o instanceof Long) {
                    return o;
                }
                if (o instanceof Short) {
                    return o;
                }
                if (o instanceof String) {
                    return o;
                }
                if (o instanceof BigDecimal) {
                    return o;
                }
                if (o instanceof BigInteger) {
                    return o;
                }
                if (o instanceof UUID) {
                    return o;
                }
                if (o instanceof QName) {
                    return o;
                }
                if (o instanceof Duration) {
                    return o;
                }
                if (o instanceof Currency) {
                    return o;
                }
                // String based types.
                if (o instanceof File) {
                    return new File(o.toString());
                }
                if (o instanceof URI) {
                    return new URI(o.toString());
                }
                if (o instanceof URL) {
                    return new URL(o.toString());
                }
                if (o instanceof MimeType) {
                    return new MimeType(o.toString());
                }
                // Cloneable types.
                if (o instanceof XMLGregorianCalendar) {
                    return ((XMLGregorianCalendar) o).clone();
                }
                if (o instanceof Date) {
                    return ((Date) o).clone();
                }
                if (o instanceof Calendar) {
                    return ((Calendar) o).clone();
                }
                if (o instanceof TimeZone) {
                    return ((TimeZone) o).clone();
                }
                if (o instanceof Locale) {
                    return ((Locale) o).clone();
                }
                if (o instanceof Element) {
                    return ((Element)((Element) o).cloneNode(true));
                }
                if (o instanceof JAXBElement) {
                    return copyOf(((JAXBElement) o));
                }
                try {
                    return o.getClass().getMethod("clone", ((Class[]) null)).invoke(o, ((Object[]) null));
                } catch (NoSuchMethodException e) {
                    if (o instanceof Serializable) {
                        return copyOf(((Serializable) o));
                    }
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (IllegalAccessException e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (InvocationTargetException e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (SecurityException e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (IllegalArgumentException e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (ExceptionInInitializerError e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                }
            }
            return null;
        } catch (MimeTypeParseException e) {
            throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
        } catch (URISyntaxException e) {
            throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
        } catch (MalformedURLException e) {
            throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
        }
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static Object copyOfArray(final Object array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            if (array.getClass() == boolean[].class) {
                return copyOf(((boolean[]) array));
            }
            if (array.getClass() == byte[].class) {
                return copyOf(((byte[]) array));
            }
            if (array.getClass() == char[].class) {
                return copyOf(((char[]) array));
            }
            if (array.getClass() == double[].class) {
                return copyOf(((double[]) array));
            }
            if (array.getClass() == float[].class) {
                return copyOf(((float[]) array));
            }
            if (array.getClass() == int[].class) {
                return copyOf(((int[]) array));
            }
            if (array.getClass() == long[].class) {
                return copyOf(((long[]) array));
            }
            if (array.getClass() == short[].class) {
                return copyOf(((short[]) array));
            }
            final int len = Array.getLength(array);
            final Object copy = Array.newInstance(array.getClass().getComponentType(), len);
            for (int i = (len- 1); (i >= 0); i--) {
                Array.set(copy, i, copyOf(Array.get(array, i)));
            }
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static boolean[] copyOf(final boolean[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final boolean[] copy = ((boolean[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static byte[] copyOf(final byte[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final byte[] copy = ((byte[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static char[] copyOf(final char[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final char[] copy = ((char[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static double[] copyOf(final double[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final double[] copy = ((double[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static float[] copyOf(final float[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final float[] copy = ((float[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static int[] copyOf(final int[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final int[] copy = ((int[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static long[] copyOf(final long[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final long[] copy = ((long[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static short[] copyOf(final short[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final short[] copy = ((short[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given {@code JAXBElement} instance.
     * 
     * @param element
     *     The instance to copy or {@code null}.
     * @return
     *     A deep copy of {@code element} or {@code null} if {@code element} is {@code null}.
     */
    @SuppressWarnings("unchecked")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static JAXBElement copyOf(final JAXBElement element) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (element!= null) {
            final JAXBElement copy = new JAXBElement(element.getName(), element.getDeclaredType(), element.getScope(), element.getValue());
            copy.setNil(element.isNil());
            copy.setValue(copyOf(copy.getValue()));
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given {@code Serializable}.
     * 
     * @param serializable
     *     The instance to copy or {@code null}.
     * @return
     *     A deep copy of {@code serializable} or {@code null} if {@code serializable} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static Serializable copyOf(final Serializable serializable) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (serializable!= null) {
            try {
                final ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
                final ObjectOutputStream out = new ObjectOutputStream(byteArrayOutput);
                out.writeObject(serializable);
                out.close();
                final ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(byteArrayOutput.toByteArray());
                final ObjectInputStream in = new ObjectInputStream(byteArrayInput);
                final Serializable copy = ((Serializable) in.readObject());
                in.close();
                return copy;
            } catch (SecurityException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (ClassNotFoundException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (InvalidClassException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (NotSerializableException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (StreamCorruptedException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (OptionalDataException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (IOException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            }
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of this object.
     * 
     * 
     * @return
     *     A deep copy of this object.
     */
    @Override
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Argument clone() {
FileLine
org/jomc/model/Argument.java282
org/jomc/model/Dependency.java430
org/jomc/model/Implementation.java702
org/jomc/model/Instance.java462
org/jomc/model/Message.java362
org/jomc/model/Module.java422
org/jomc/model/Person.java254
org/jomc/model/Property.java345
org/jomc/model/Specification.java468
    }

    /**
     * Creates and returns a deep copy of a given object.
     * 
     * @param o
     *     The instance to copy or {@code null}.
     * @return
     *     A deep copy of {@code o} or {@code null} if {@code o} is {@code null}.
     */
    @SuppressWarnings("unchecked")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static Object copyOf(final Object o) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        try {
            if (o!= null) {
                if (o.getClass().isPrimitive()) {
                    return o;
                }
                if (o.getClass().isArray()) {
                    return copyOfArray(o);
                }
                // Immutable types.
                if (o instanceof Boolean) {
                    return o;
                }
                if (o instanceof Byte) {
                    return o;
                }
                if (o instanceof Character) {
                    return o;
                }
                if (o instanceof Double) {
                    return o;
                }
                if (o instanceof Enum) {
                    return o;
                }
                if (o instanceof Float) {
                    return o;
                }
                if (o instanceof Integer) {
                    return o;
                }
                if (o instanceof Long) {
                    return o;
                }
                if (o instanceof Short) {
                    return o;
                }
                if (o instanceof String) {
                    return o;
                }
                if (o instanceof BigDecimal) {
                    return o;
                }
                if (o instanceof BigInteger) {
                    return o;
                }
                if (o instanceof UUID) {
                    return o;
                }
                if (o instanceof QName) {
                    return o;
                }
                if (o instanceof Duration) {
                    return o;
                }
                if (o instanceof Currency) {
                    return o;
                }
                // String based types.
                if (o instanceof File) {
                    return new File(o.toString());
                }
                if (o instanceof URI) {
                    return new URI(o.toString());
                }
                if (o instanceof URL) {
                    return new URL(o.toString());
                }
                if (o instanceof MimeType) {
                    return new MimeType(o.toString());
                }
                // Cloneable types.
                if (o instanceof XMLGregorianCalendar) {
                    return ((XMLGregorianCalendar) o).clone();
                }
                if (o instanceof Date) {
                    return ((Date) o).clone();
                }
                if (o instanceof Calendar) {
                    return ((Calendar) o).clone();
                }
                if (o instanceof TimeZone) {
                    return ((TimeZone) o).clone();
                }
                if (o instanceof Locale) {
                    return ((Locale) o).clone();
                }
                if (o instanceof Element) {
                    return ((Element)((Element) o).cloneNode(true));
                }
                if (o instanceof JAXBElement) {
                    return copyOf(((JAXBElement) o));
                }
                try {
                    return o.getClass().getMethod("clone", ((Class[]) null)).invoke(o, ((Object[]) null));
                } catch (NoSuchMethodException e) {
                    if (o instanceof Serializable) {
                        return copyOf(((Serializable) o));
                    }
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (IllegalAccessException e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (InvocationTargetException e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (SecurityException e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (IllegalArgumentException e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                } catch (ExceptionInInitializerError e) {
                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                    throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
                }
            }
            return null;
        } catch (MimeTypeParseException e) {
            throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
        } catch (URISyntaxException e) {
            throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
        } catch (MalformedURLException e) {
            throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
        }
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static Object copyOfArray(final Object array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            if (array.getClass() == boolean[].class) {
                return copyOf(((boolean[]) array));
            }
            if (array.getClass() == byte[].class) {
                return copyOf(((byte[]) array));
            }
            if (array.getClass() == char[].class) {
                return copyOf(((char[]) array));
            }
            if (array.getClass() == double[].class) {
                return copyOf(((double[]) array));
            }
            if (array.getClass() == float[].class) {
                return copyOf(((float[]) array));
            }
            if (array.getClass() == int[].class) {
                return copyOf(((int[]) array));
            }
            if (array.getClass() == long[].class) {
                return copyOf(((long[]) array));
            }
            if (array.getClass() == short[].class) {
                return copyOf(((short[]) array));
            }
            final int len = Array.getLength(array);
            final Object copy = Array.newInstance(array.getClass().getComponentType(), len);
            for (int i = (len- 1); (i >= 0); i--) {
                Array.set(copy, i, copyOf(Array.get(array, i)));
            }
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static boolean[] copyOf(final boolean[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final boolean[] copy = ((boolean[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static byte[] copyOf(final byte[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final byte[] copy = ((byte[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static char[] copyOf(final char[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final char[] copy = ((char[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static double[] copyOf(final double[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final double[] copy = ((double[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static float[] copyOf(final float[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final float[] copy = ((float[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static int[] copyOf(final int[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final int[] copy = ((int[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static long[] copyOf(final long[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final long[] copy = ((long[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given array.
     * 
     * @param array
     *     The array to copy or {@code null}.
     * @return
     *     A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static short[] copyOf(final short[] array) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (array!= null) {
            final short[] copy = ((short[]) Array.newInstance(array.getClass().getComponentType(), array.length));
            System.arraycopy(array, 0, copy, 0, array.length);
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given {@code JAXBElement} instance.
     * 
     * @param element
     *     The instance to copy or {@code null}.
     * @return
     *     A deep copy of {@code element} or {@code null} if {@code element} is {@code null}.
     */
    @SuppressWarnings("unchecked")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static JAXBElement copyOf(final JAXBElement element) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (element!= null) {
            final JAXBElement copy = new JAXBElement(element.getName(), element.getDeclaredType(), element.getScope(), element.getValue());
            copy.setNil(element.isNil());
            copy.setValue(copyOf(copy.getValue()));
            return copy;
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of a given {@code Serializable}.
     * 
     * @param serializable
     *     The instance to copy or {@code null}.
     * @return
     *     A deep copy of {@code serializable} or {@code null} if {@code serializable} is {@code null}.
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static Serializable copyOf(final Serializable serializable) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if (serializable!= null) {
            try {
                final ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
                final ObjectOutputStream out = new ObjectOutputStream(byteArrayOutput);
                out.writeObject(serializable);
                out.close();
                final ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(byteArrayOutput.toByteArray());
                final ObjectInputStream in = new ObjectInputStream(byteArrayInput);
                final Serializable copy = ((Serializable) in.readObject());
                in.close();
                return copy;
            } catch (SecurityException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (ClassNotFoundException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (InvalidClassException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (NotSerializableException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (StreamCorruptedException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (OptionalDataException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            } catch (IOException e) {
                throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
            }
        }
        return null;
    }

    /**
     * Creates and returns a deep copy of this object.
     * 
     * 
     * @return
     *     A deep copy of this object.
     */
    @Override
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Argument clone() {
FileLine
org/jomc/model/Instance.java1264
org/jomc/model/Specification.java936
    }

    /**
     * Gets the Java type name of the type referenced by the instance.
     *
     * @return The Java type name of the type referenced by the instance or {@code null}, if the instance does not
     * reference a type.
     *
     * @throws ModelObjectException if compiling the name of the referenced type to a {@code JavaTypeName} fails.
     *
     * @see #getClazz()
     *
     * @since 1.4
     */
    public JavaTypeName getJavaTypeName() throws ModelObjectException
    {
        try
        {
            JavaTypeName javaTypeName = null;

            if ( this.getClazz() != null )
            {
                javaTypeName = JavaTypeName.parse( this.getClazz() );
            }

            return javaTypeName;
        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaTypeNameParseException", this.getClazz(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElement(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public javax.xml.bind.JAXBElement getAnyElement( final String namespaceURI, final String localPart )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElements(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public java.util.List<javax.xml.bind.JAXBElement> getAnyElements( final String namespaceURI,
                                                                      final String localPart )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     * @param type The class of the type the element is bound to.
     * @param <T> The type the element is bound to.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> javax.xml.bind.JAXBElement<T> getAnyElement( final String namespaceURI, final String localPart,
                                                            final Class<T> type )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     * @param type The class of the type the elements are bound to.
     * @param <T> The type the elements are bound to.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> java.util.List<javax.xml.bind.JAXBElement<T>> getAnyElements( final String namespaceURI,
                                                                             final String localPart,
                                                                             final Class<T> type )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a single object matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return an instance of.
     * @param <T> The type of the object to return.
     *
     * @return The instance of {@code clazz} from the {@code any} property of the instance or {@code null} if no such
     * instance is found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching object.
     *
     * @see #getAnyObject(java.util.List, java.lang.Class)
     */
    public <T> T getAnyObject( final Class<T> clazz )
    {
        return this.getAnyObject( this.getAny(), clazz );
    }

    /**
     * Gets a list containing all objects matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return all instances of.
     * @param <T> The type of the objects to return.
     *
     * @return An unmodifiable list of all instances of {@code clazz} from the {@code any} property of the instance -
     * an empty list if no such objects are found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     *
     * @see #getAnyObjects(java.util.List, java.lang.Class)
     */
    public <T> java.util.List<T> getAnyObjects( final Class<T> clazz )
    {
        return this.getAnyObjects( this.getAny(), clazz );
    }

    private static String getMessage( final Throwable t )
    {
        return t != null
               ? t.getMessage() != null && t.getMessage().trim().length() > 0
                 ? t.getMessage()
                 : getMessage( t.getCause() )
               : null;

    }

    private static String getMessage( final String key, final Object... arguments )
    {
        return java.text.MessageFormat.format( java.util.ResourceBundle.getBundle(
FileLine
org/jomc/model/Implementation.java283
org/jomc/model/Instance.java211
        this.implementations = value;
    }

    /**
     * Dependencies of this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Dependencies }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Dependencies getDependencies() {
        return dependencies;
    }

    /**
     * Sets the value of the dependencies property.
     * 
     * @param value
     *     allowed object is
     *     {@link Dependencies }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setDependencies(Dependencies value) {
        this.dependencies = value;
    }

    /**
     * Properties of this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Properties }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Properties getProperties() {
        return properties;
    }

    /**
     * Sets the value of the properties property.
     * 
     * @param value
     *     allowed object is
     *     {@link Properties }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setProperties(Properties value) {
        this.properties = value;
    }

    /**
     * Messages of this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Messages }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Messages getMessages() {
        return messages;
    }

    /**
     * Sets the value of the messages property.
     * 
     * @param value
     *     allowed object is
     *     {@link Messages }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setMessages(Messages value) {
        this.messages = value;
    }

    /**
     * Gets the value of the any property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the any property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * {@link Element }
     * 
     * 
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

    /**
     * The identifier of this implementation.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getIdentifier() {
        return identifier;
    }

    /**
     * Sets the value of the identifier property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setIdentifier(String value) {
        this.identifier = value;
    }

    /**
     * The name of this implementation.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setName(String value) {
        this.name = value;
    }

    /**
     * The identifier of the class providing instances of this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getClazz() {
        return clazz;
    }

    /**
     * Sets the value of the clazz property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setClazz(String value) {
        this.clazz = value;
    }

    /**
     * An URI of the location providing instances of this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getLocation() {
FileLine
org/jomc/model/Argument.java769
org/jomc/model/Dependency.java969
            throw new ModelObjectException( getMessage( "javaMethodParameterNameParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElement(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public javax.xml.bind.JAXBElement getAnyElement( final String namespaceURI, final String localPart )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElements(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public java.util.List<javax.xml.bind.JAXBElement> getAnyElements( final String namespaceURI,
                                                                      final String localPart )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     * @param type The class of the type the element is bound to.
     * @param <T> The type the element is bound to.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> javax.xml.bind.JAXBElement<T> getAnyElement( final String namespaceURI, final String localPart,
                                                            final Class<T> type )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     * @param type The class of the type the elements are bound to.
     * @param <T> The type the elements are bound to.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> java.util.List<javax.xml.bind.JAXBElement<T>> getAnyElements( final String namespaceURI,
                                                                             final String localPart,
                                                                             final Class<T> type )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a single object matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return an instance of.
     * @param <T> The type of the object to return.
     *
     * @return The instance of {@code clazz} from the {@code any} property of the instance or {@code null}, if no such
     * instance is found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching object.
     *
     * @see #getAnyObject(java.util.List, java.lang.Class)
     */
    public <T> T getAnyObject( final Class<T> clazz )
    {
        return this.getAnyObject( this.getAny(), clazz );
    }

    /**
     * Gets a list containing all objects matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return all instances of.
     * @param <T> The type of the objects to return.
     *
     * @return An unmodifiable list of all instances of {@code clazz} from the {@code any} property of the instance -
     * an empty list if no such objects are found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     *
     * @see #getAnyObjects(java.util.List, java.lang.Class)
     */
    public <T> java.util.List<T> getAnyObjects( final Class<T> clazz )
    {
        return this.getAnyObjects( this.getAny(), clazz );
    }

    private static String getMessage( final Throwable t )
    {
        return t != null
               ? t.getMessage() != null && t.getMessage().trim().length() > 0
                 ? t.getMessage()
                 : getMessage( t.getCause() )
               : null;

    }

    private static String getMessage( final String key, final Object... arguments )
    {
        return java.text.MessageFormat.format( java.util.ResourceBundle.getBundle(
FileLine
org/jomc/model/Argument.java769
org/jomc/model/Dependency.java969
org/jomc/model/Implementation.java1244
org/jomc/model/Instance.java1293
org/jomc/model/Specification.java965
            throw new ModelObjectException( getMessage( "javaMethodParameterNameParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElement(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public javax.xml.bind.JAXBElement getAnyElement( final String namespaceURI, final String localPart )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElements(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public java.util.List<javax.xml.bind.JAXBElement> getAnyElements( final String namespaceURI,
                                                                      final String localPart )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     * @param type The class of the type the element is bound to.
     * @param <T> The type the element is bound to.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> javax.xml.bind.JAXBElement<T> getAnyElement( final String namespaceURI, final String localPart,
                                                            final Class<T> type )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     * @param type The class of the type the elements are bound to.
     * @param <T> The type the elements are bound to.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> java.util.List<javax.xml.bind.JAXBElement<T>> getAnyElements( final String namespaceURI,
                                                                             final String localPart,
                                                                             final Class<T> type )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a single object matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return an instance of.
     * @param <T> The type of the object to return.
     *
     * @return The instance of {@code clazz} from the {@code any} property of the instance or {@code null}, if no such
     * instance is found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching object.
     *
     * @see #getAnyObject(java.util.List, java.lang.Class)
     */
    public <T> T getAnyObject( final Class<T> clazz )
    {
        return this.getAnyObject( this.getAny(), clazz );
    }

    /**
     * Gets a list containing all objects matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return all instances of.
     * @param <T> The type of the objects to return.
     *
     * @return An unmodifiable list of all instances of {@code clazz} from the {@code any} property of the instance -
     * an empty list if no such objects are found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     *
     * @see #getAnyObjects(java.util.List, java.lang.Class)
     */
    public <T> java.util.List<T> getAnyObjects( final Class<T> clazz )
    {
        return this.getAnyObjects( this.getAny(), clazz );
    }

    private static String getMessage( final Throwable t )
    {
        return t != null
               ? t.getMessage() != null && t.getMessage().trim().length() > 0
                 ? t.getMessage()
                 : getMessage( t.getCause() )
               : null;

    }

    private static String getMessage( final String key, final Object... arguments )
    {
        return java.text.MessageFormat.format( java.util.ResourceBundle.getBundle(
FileLine
org/jomc/model/ImplementationReference.java87
org/jomc/model/SpecificationReference.java91
            throw new NullPointerException("Cannot create a copy of 'ImplementationReference' from 'null'.");
        }
        // CBuiltinLeafInfo: java.lang.String
        this.identifier = ((o.identifier == null)?null:o.getIdentifier());
        // CBuiltinLeafInfo: java.lang.String
        this.version = ((o.version == null)?null:o.getVersion());
        // CBuiltinLeafInfo: java.lang.Boolean
        this._final = ((o._final == null)?null:o.isFinal());
        // CBuiltinLeafInfo: java.lang.Boolean
        this.override = ((o.override == null)?null:o.isOverride());
    }

    /**
     * The identifier of the referenced implementation.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getIdentifier() {
        return identifier;
    }

    /**
     * Sets the value of the identifier property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setIdentifier(String value) {
        this.identifier = value;
    }

    /**
     * The version of the referenced implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getVersion() {
        return version;
    }

    /**
     * Sets the value of the version property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setVersion(String value) {
        this.version = value;
    }

    /**
     * {@code true}, if this implementation reference is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
        if (_final == null) {
            return false;
        } else {
            return _final;
        }
    }

    /**
     * Sets the value of the final property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setFinal(Boolean value) {
        this._final = value;
    }

    /**
     * {@code true}, if this implementation reference is intended to override a super implementation reference.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isOverride() {
        if (override == null) {
            return false;
        } else {
            return override;
        }
    }

    /**
     * Sets the value of the override property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setOverride(Boolean value) {
        this.override = value;
    }

    /**
     * Creates and returns a deep copy of this object.
     * 
     * 
     * @return
     *     A deep copy of this object.
     */
    @Override
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public ImplementationReference clone() {
FileLine
org/jomc/model/Dependency.java864
org/jomc/model/Message.java985
        }
    }
    
    /**
     * Gets the Java getter method name of the dependency.
     *
     * @return The Java getter method name of the dependency.
     *
     * @throws ModelObjectException if compiling the name of the dependency to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaGetterMethodName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.parse( "get" + JavaIdentifier.normalize(
                this.getName() != null ? this.getName() : "", JavaIdentifier.NormalizationMode.CAMEL_CASE ) );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets the Java setter method name of the dependency.
     *
     * @return The Java setter method name of the dependency.
     *
     * @throws ModelObjectException if compiling the name of the dependency to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaSetterMethodName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.parse( "set" + JavaIdentifier.normalize(
                this.getName() != null ? this.getName() : "", JavaIdentifier.NormalizationMode.CAMEL_CASE ) );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets the Java variable name of the dependency.
     *
     * @return The Java variable name of the dependency.
     *
     * @throws ModelObjectException if compiling the name of the dependency to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaVariableName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.normalize( this.getName() != null ? this.getName() : "",
                                             JavaIdentifier.NormalizationMode.VARIABLE_NAME_CONVENTION );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets the Java constant name of the dependency.
     *
     * @return The Java constant name of the dependency.
     *
     * @throws ModelObjectException if compiling the name of the dependency to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaConstantName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.normalize( this.getName() != null ? this.getName() : "",
                                             JavaIdentifier.NormalizationMode.CONSTANT_NAME_CONVENTION );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }
FileLine
org/jomc/model/Message.java1003
org/jomc/model/Property.java896
            return JavaIdentifier.parse( "get" + JavaIdentifier.normalize(
                this.getName() != null ? this.getName() : "", JavaIdentifier.NormalizationMode.CAMEL_CASE ) );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets the Java setter method name of the message.
     *
     * @return The Java setter method name of the message.
     *
     * @throws ModelObjectException if compiling the name of the message to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaSetterMethodName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.parse( "set" + JavaIdentifier.normalize(
                this.getName() != null ? this.getName() : "", JavaIdentifier.NormalizationMode.CAMEL_CASE ) );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets the Java variable name of the message.
     *
     * @return The Java variable name of the message.
     *
     * @throws ModelObjectException if compiling the name of the message to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaVariableName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.normalize( this.getName() != null ? this.getName() : "",
                                             JavaIdentifier.NormalizationMode.VARIABLE_NAME_CONVENTION );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets the Java constant name of the message.
     *
     * @return The Java constant name of the message.
     *
     * @throws ModelObjectException if compiling the name of the message to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaConstantName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.normalize( this.getName() != null ? this.getName() : "",
                                             JavaIdentifier.NormalizationMode.CONSTANT_NAME_CONVENTION );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    private static String getMessage( final Throwable t )
FileLine
org/jomc/model/Dependency.java882
org/jomc/model/Property.java896
            return JavaIdentifier.parse( "get" + JavaIdentifier.normalize(
                this.getName() != null ? this.getName() : "", JavaIdentifier.NormalizationMode.CAMEL_CASE ) );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets the Java setter method name of the dependency.
     *
     * @return The Java setter method name of the dependency.
     *
     * @throws ModelObjectException if compiling the name of the dependency to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaSetterMethodName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.parse( "set" + JavaIdentifier.normalize(
                this.getName() != null ? this.getName() : "", JavaIdentifier.NormalizationMode.CAMEL_CASE ) );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets the Java variable name of the dependency.
     *
     * @return The Java variable name of the dependency.
     *
     * @throws ModelObjectException if compiling the name of the dependency to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaVariableName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.normalize( this.getName() != null ? this.getName() : "",
                                             JavaIdentifier.NormalizationMode.VARIABLE_NAME_CONVENTION );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }

    /**
     * Gets the Java constant name of the dependency.
     *
     * @return The Java constant name of the dependency.
     *
     * @throws ModelObjectException if compiling the name of the dependency to a {@code JavaIdentifier} fails.
     *
     * @since 1.4
     *
     * @see #getName()
     */
    public JavaIdentifier getJavaConstantName() throws ModelObjectException
    {
        try
        {
            return JavaIdentifier.normalize( this.getName() != null ? this.getName() : "",
                                             JavaIdentifier.NormalizationMode.CONSTANT_NAME_CONVENTION );

        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaIdentifierParseException", this.getName(),
                                                        getMessage( e ) ), e );

        }
    }
FileLine
org/jomc/model/MessageReference.java82
org/jomc/model/PropertyReference.java82
            throw new NullPointerException("Cannot create a copy of 'MessageReference' from 'null'.");
        }
        // CBuiltinLeafInfo: java.lang.String
        this.name = ((o.name == null)?null:o.getName());
        // CBuiltinLeafInfo: java.lang.Boolean
        this._final = ((o._final == null)?null:o.isFinal());
        // CBuiltinLeafInfo: java.lang.Boolean
        this.override = ((o.override == null)?null:o.isOverride());
    }

    /**
     * The name of the referenced message.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setName(String value) {
        this.name = value;
    }

    /**
     * {@code true}, if this message reference is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
        if (_final == null) {
            return false;
        } else {
            return _final;
        }
    }

    /**
     * Sets the value of the final property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setFinal(Boolean value) {
        this._final = value;
    }

    /**
     * {@code true}, if this message reference is intended to override a super message reference.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isOverride() {
        if (override == null) {
            return false;
        } else {
            return override;
        }
    }

    /**
     * Sets the value of the override property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setOverride(Boolean value) {
        this.override = value;
    }

    /**
     * Creates and returns a deep copy of this object.
     * 
     * 
     * @return
     *     A deep copy of this object.
     */
    @Override
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public MessageReference clone() {
FileLine
org/jomc/model/Module.java854
org/jomc/model/Person.java676
            clone.vendor = ((this.vendor == null)?null:this.getVendor());
            return clone;
        }
    }
    
    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElement(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public javax.xml.bind.JAXBElement getAnyElement( final String namespaceURI, final String localPart )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElements(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public java.util.List<javax.xml.bind.JAXBElement> getAnyElements( final String namespaceURI,
                                                                      final String localPart )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     * @param type The class of the type the element is bound to.
     * @param <T> The type the element is bound to.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> javax.xml.bind.JAXBElement<T> getAnyElement( final String namespaceURI, final String localPart,
                                                            final Class<T> type )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     * @param type The class of the type the elements are bound to.
     * @param <T> The type the elements are bound to.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> java.util.List<javax.xml.bind.JAXBElement<T>> getAnyElements( final String namespaceURI,
                                                                             final String localPart,
                                                                             final Class<T> type )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a single object matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return an instance of.
     * @param <T> The type of the object to return.
     *
     * @return The instance of {@code clazz} from the {@code any} property of the instance or {@code null}, if no such
     * instance is found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching object.
     *
     * @see #getAnyObject(java.util.List, java.lang.Class)
     */
    public <T> T getAnyObject( final Class<T> clazz )
    {
        return this.getAnyObject( this.getAny(), clazz );
    }

    /**
     * Gets a list containing all objects matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return all instances of.
     * @param <T> The type of the objects to return.
     *
     * @return An unmodifiable list of all instances of {@code clazz} from the {@code any} property of the instance -
     * an empty list if no such objects are found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     *
     * @see #getAnyObjects(java.util.List, java.lang.Class)
     */
    public <T> java.util.List<T> getAnyObjects( final Class<T> clazz )
    {
        return this.getAnyObjects( this.getAny(), clazz );
    }
      
}
FileLine
org/jomc/model/Argument.java772
org/jomc/model/Dependency.java972
org/jomc/model/Implementation.java1247
org/jomc/model/Instance.java1296
org/jomc/model/Module.java856
org/jomc/model/Person.java678
org/jomc/model/Specification.java968
        }
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElement(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public javax.xml.bind.JAXBElement getAnyElement( final String namespaceURI, final String localPart )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElements(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public java.util.List<javax.xml.bind.JAXBElement> getAnyElements( final String namespaceURI,
                                                                      final String localPart )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     * @param type The class of the type the element is bound to.
     * @param <T> The type the element is bound to.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> javax.xml.bind.JAXBElement<T> getAnyElement( final String namespaceURI, final String localPart,
                                                            final Class<T> type )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     * @param type The class of the type the elements are bound to.
     * @param <T> The type the elements are bound to.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> java.util.List<javax.xml.bind.JAXBElement<T>> getAnyElements( final String namespaceURI,
                                                                             final String localPart,
                                                                             final Class<T> type )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a single object matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return an instance of.
     * @param <T> The type of the object to return.
     *
     * @return The instance of {@code clazz} from the {@code any} property of the instance or {@code null}, if no such
     * instance is found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching object.
     *
     * @see #getAnyObject(java.util.List, java.lang.Class)
     */
    public <T> T getAnyObject( final Class<T> clazz )
    {
        return this.getAnyObject( this.getAny(), clazz );
    }

    /**
     * Gets a list containing all objects matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return all instances of.
     * @param <T> The type of the objects to return.
     *
     * @return An unmodifiable list of all instances of {@code clazz} from the {@code any} property of the instance -
     * an empty list if no such objects are found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     *
     * @see #getAnyObjects(java.util.List, java.lang.Class)
     */
    public <T> java.util.List<T> getAnyObjects( final Class<T> clazz )
    {
        return this.getAnyObjects( this.getAny(), clazz );
    }
FileLine
org/jomc/model/Argument.java793
org/jomc/model/Dependency.java993
org/jomc/model/Implementation.java1268
org/jomc/model/Instance.java1317
org/jomc/model/Message.java820
org/jomc/model/Module.java877
org/jomc/model/Person.java699
org/jomc/model/Specification.java989
    @Deprecated
    public javax.xml.bind.JAXBElement getAnyElement( final String namespaceURI, final String localPart )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI} or {@code localPart} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String)
     *
     * @deprecated As of JOMC 1.1, please use method {@link #getAnyElements(java.lang.String, java.lang.String, java.lang.Class)}.
     * This method will be removed in version 2.0.
     */
    @Deprecated
    public java.util.List<javax.xml.bind.JAXBElement> getAnyElements( final String namespaceURI,
                                                                      final String localPart )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart );
    }

    /**
     * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
     * instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
     * @param localPart The local part of the {@code JAXBElement} to return.
     * @param type The class of the type the element is bound to.
     * @param <T> The type the element is bound to.
     *
     * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
     * of the instance or {@code null}, if no such element is found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching element.
     *
     * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> javax.xml.bind.JAXBElement<T> getAnyElement( final String namespaceURI, final String localPart,
                                                            final Class<T> type )
    {
        return this.getAnyElement( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
     * property of the instance.
     *
     * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
     * @param localPart The local part of the {@code JAXBElement}s to return.
     * @param type The class of the type the elements are bound to.
     * @param <T> The type the elements are bound to.
     *
     * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
     * the {@code any} property of the instance - an empty list if no such elements are found.
     *
     * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
     *
     * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
     *
     * @since 1.1
     */
    public <T> java.util.List<javax.xml.bind.JAXBElement<T>> getAnyElements( final String namespaceURI,
                                                                             final String localPart,
                                                                             final Class<T> type )
    {
        return this.getAnyElements( this.getAny(), namespaceURI, localPart, type );
    }

    /**
     * Gets a single object matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return an instance of.
     * @param <T> The type of the object to return.
     *
     * @return The instance of {@code clazz} from the {@code any} property of the instance or {@code null}, if no such
     * instance is found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     * @throws IllegalStateException if the {@code any} property contains more than one matching object.
     *
     * @see #getAnyObject(java.util.List, java.lang.Class)
     */
    public <T> T getAnyObject( final Class<T> clazz )
    {
        return this.getAnyObject( this.getAny(), clazz );
    }

    /**
     * Gets a list containing all objects matching a given class from the {@code any} property of the instance.
     *
     * @param clazz The class to return all instances of.
     * @param <T> The type of the objects to return.
     *
     * @return An unmodifiable list of all instances of {@code clazz} from the {@code any} property of the instance -
     * an empty list if no such objects are found.
     *
     * @throws NullPointerException if {@code clazz} is {@code null}.
     *
     * @see #getAnyObjects(java.util.List, java.lang.Class)
     */
    public <T> java.util.List<T> getAnyObjects( final Class<T> clazz )
    {
        return this.getAnyObjects( this.getAny(), clazz );
    }
FileLine
org/jomc/model/Dependency.java176
org/jomc/model/Implementation.java284
org/jomc/model/Instance.java212
    }

    /**
     * Dependencies of this dependency or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Dependencies }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Dependencies getDependencies() {
        return dependencies;
    }

    /**
     * Sets the value of the dependencies property.
     * 
     * @param value
     *     allowed object is
     *     {@link Dependencies }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setDependencies(Dependencies value) {
        this.dependencies = value;
    }

    /**
     * Properties of this dependency or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Properties }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Properties getProperties() {
        return properties;
    }

    /**
     * Sets the value of the properties property.
     * 
     * @param value
     *     allowed object is
     *     {@link Properties }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setProperties(Properties value) {
        this.properties = value;
    }

    /**
     * Messages of this dependency or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Messages }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Messages getMessages() {
        return messages;
    }

    /**
     * Sets the value of the messages property.
     * 
     * @param value
     *     allowed object is
     *     {@link Messages }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setMessages(Messages value) {
        this.messages = value;
    }

    /**
     * Gets the value of the any property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the any property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * {@link Element }
     * 
     * 
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

    /**
     * Name of the selected implementation of the specification of this dependency or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getImplementationName() {
FileLine
org/jomc/model/Implementation.java638
org/jomc/model/Specification.java404
        this._abstract = value;
    }

    /**
     * {@code true}, if this implementation declares the class given by property {@code clazz}.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isClassDeclaration() {
        if (classDeclaration == null) {
            return false;
        } else {
            return classDeclaration;
        }
    }

    /**
     * Sets the value of the classDeclaration property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setClassDeclaration(Boolean value) {
        this.classDeclaration = value;
    }

    /**
     * Copies all values of property {@code Any} deeply.
     * 
     * @param source
     *     The source to copy from.
     * @param target
     *     The target to copy {@code source} to.
     * @throws NullPointerException
     *     if {@code target} is {@code null}.
     */
    @SuppressWarnings("unchecked")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static void copyAny(final List<Object> source, final List<Object> target) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if ((source!= null)&&(!source.isEmpty())) {
            for (final Iterator<?> it = source.iterator(); it.hasNext(); ) {
                final Object next = it.next();
                if (next instanceof Element) {
                    // CWildcardTypeInfo: org.w3c.dom.Element
                    target.add(((Element)((Element) next).cloneNode(true)));
                    continue;
                }
                if (next instanceof Object) {
                    // CBuiltinLeafInfo: java.lang.Object
                    target.add(copyOf(((Object) next)));
                    continue;
                }
                // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Any' of class 'org.jomc.model.Implementation'."));
FileLine
org/jomc/model/Implementation.java1119
org/jomc/model/Instance.java877
            clone.implementations = ((this.implementations == null)?null:((this.getImplementations() == null)?null:this.getImplementations().clone()));
            // CClassInfo: org.jomc.model.Dependencies
            clone.dependencies = ((this.dependencies == null)?null:((this.getDependencies() == null)?null:this.getDependencies().clone()));
            // CClassInfo: org.jomc.model.Properties
            clone.properties = ((this.properties == null)?null:((this.getProperties() == null)?null:this.getProperties().clone()));
            // CClassInfo: org.jomc.model.Messages
            clone.messages = ((this.messages == null)?null:((this.getMessages() == null)?null:this.getMessages().clone()));
            // 'Any' collection.
            if (this.any!= null) {
                clone.any = null;
                copyAny(this.getAny(), clone.getAny());
            }
            // CBuiltinLeafInfo: java.lang.String
            clone.identifier = ((this.identifier == null)?null:this.getIdentifier());
            // CBuiltinLeafInfo: java.lang.String
            clone.name = ((this.name == null)?null:this.getName());
            // CBuiltinLeafInfo: java.lang.String
            clone.clazz = ((this.clazz == null)?null:this.getClazz());
            // CBuiltinLeafInfo: java.lang.String
            clone.location = ((this.location == null)?null:this.getLocation());
FileLine
org/jomc/model/Implementation.java201
org/jomc/model/Instance.java167
        this.implementations = ((o.implementations == null)?null:((o.getImplementations() == null)?null:o.getImplementations().clone()));
        // CClassInfo: org.jomc.model.Dependencies
        this.dependencies = ((o.dependencies == null)?null:((o.getDependencies() == null)?null:o.getDependencies().clone()));
        // CClassInfo: org.jomc.model.Properties
        this.properties = ((o.properties == null)?null:((o.getProperties() == null)?null:o.getProperties().clone()));
        // CClassInfo: org.jomc.model.Messages
        this.messages = ((o.messages == null)?null:((o.getMessages() == null)?null:o.getMessages().clone()));
        // 'Any' collection.
        if (o.any!= null) {
            copyAny(o.getAny(), this.getAny());
        }
        // CBuiltinLeafInfo: java.lang.String
        this.identifier = ((o.identifier == null)?null:o.getIdentifier());
        // CBuiltinLeafInfo: java.lang.String
        this.name = ((o.name == null)?null:o.getName());
        // CBuiltinLeafInfo: java.lang.String
        this.clazz = ((o.clazz == null)?null:o.getClazz());
        // CBuiltinLeafInfo: java.lang.String
        this.location = ((o.location == null)?null:o.getLocation());
FileLine
org/jomc/model/Message.java243
org/jomc/model/MessageReference.java90
org/jomc/model/PropertyReference.java90
    }

    /**
     * The name of this message.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setName(String value) {
        this.name = value;
    }

    /**
     * {@code true}, if this message is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
        if (_final == null) {
            return false;
        } else {
            return _final;
        }
    }

    /**
     * Sets the value of the final property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setFinal(Boolean value) {
        this._final = value;
    }

    /**
     * {@code true}, if this message is intended to override a super message.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isOverride() {
        if (override == null) {
            return false;
        } else {
            return override;
        }
    }

    /**
     * Sets the value of the override property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setOverride(Boolean value) {
        this.override = value;
    }

    /**
     * Copies all values of property {@code Any} deeply.
     * 
     * @param source
     *     The source to copy from.
     * @param target
     *     The target to copy {@code source} to.
     * @throws NullPointerException
     *     if {@code target} is {@code null}.
     */
    @SuppressWarnings("unchecked")
FileLine
org/jomc/model/Implementation.java127
org/jomc/model/Instance.java114
    @XmlElement(namespace = "http://jomc.org/model")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected Dependencies dependencies;
    @XmlElement(namespace = "http://jomc.org/model")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected Properties properties;
    @XmlElement(namespace = "http://jomc.org/model")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected Messages messages;
    @XmlAnyElement(lax = true)
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected List<Object> any;
    @XmlAttribute(name = "identifier", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected String identifier;
    @XmlAttribute(name = "name", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected String name;
    @XmlAttribute(name = "class")
FileLine
org/jomc/model/Dependency.java201
org/jomc/model/Implementation.java309
org/jomc/model/Instance.java237
org/jomc/model/Module.java227
        this.dependencies = value;
    }

    /**
     * Properties of this dependency or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Properties }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Properties getProperties() {
        return properties;
    }

    /**
     * Sets the value of the properties property.
     * 
     * @param value
     *     allowed object is
     *     {@link Properties }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setProperties(Properties value) {
        this.properties = value;
    }

    /**
     * Messages of this dependency or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Messages }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Messages getMessages() {
        return messages;
    }

    /**
     * Sets the value of the messages property.
     * 
     * @param value
     *     allowed object is
     *     {@link Messages }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setMessages(Messages value) {
        this.messages = value;
    }

    /**
     * Gets the value of the any property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the any property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * {@link Element }
     * 
     * 
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

    /**
     * Name of the selected implementation of the specification of this dependency or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getImplementationName() {
FileLine
org/jomc/model/ModelObject.java337
org/jomc/model/ModelObject.java463
            throw new NullPointerException( "localPart" );
        }

        javax.xml.bind.JAXBElement<?> anyElement = null;

        for ( int i = 0, s0 = any.size(); i < s0; i++ )
        {
            final Object o = any.get( i );

            if ( o instanceof javax.xml.bind.JAXBElement<?> )
            {
                final javax.xml.bind.JAXBElement<?> e = (javax.xml.bind.JAXBElement<?>) o;

                if ( namespaceURI.equals( e.getName().getNamespaceURI() )
                     && localPart.equals( e.getName().getLocalPart() ) )
                {
                    if ( anyElement == null )
                    {
                        anyElement = e;
                    }
                    else
                    {
                        throw new IllegalStateException( getMessage( "nonUniqueElement", this.getClass().getName(),
                                                                     namespaceURI, localPart ) );

                    }
                }
            }
        }
FileLine
org/jomc/model/Implementation.java1148
org/jomc/model/Specification.java900
            clone._abstract = ((this._abstract == null)?null:this.isAbstract());
            // CBuiltinLeafInfo: java.lang.Boolean
            clone.classDeclaration = ((this.classDeclaration == null)?null:this.isClassDeclaration());
            return clone;
        }
    }
    
    /**
     * Gets the Java class of the type referenced by the implementation for a given class loader.
     *
     * @param classLoader The class loader to get the Java class from or {@code null}, to get the Java class from the
     * platform's bootstrap class loader.
     *
     * @return The Java class of the type referenced by the implementation or {@code null}, if the implementation does
     * not reference a type.
     *
     * @throws ClassNotFoundException if the Java class is not found.
     * @throws ModelObjectException if compiling the name of the referenced type to a {@code JavaTypeName} fails.
     *
     * @see #getClazz()
     * @see #getJavaTypeName()
     *
     * @since 1.2
     */
    public Class<?> getJavaClass( final ClassLoader classLoader )
        throws ClassNotFoundException, ModelObjectException
    {
        Class<?> javaClass = null;
        final JavaTypeName javaTypeName = this.getJavaTypeName();

        if ( javaTypeName != null )
        {
            javaClass = javaTypeName.getClass( classLoader, false );
        }

        return javaClass;
    }

    /**
     * Gets the Java type name of the type referenced by the implementation.
     *
     * @return The Java type name of the type referenced by the implementation or {@code null}, if the implementation
     * does not reference a type.
     *
     * @throws ModelObjectException if compiling the name of the referenced type to a {@code JavaTypeName} fails.
     *
     * @see #getClazz()
     *
     * @since 1.4
     */
    public JavaTypeName getJavaTypeName() throws ModelObjectException
    {
        try
        {
            JavaTypeName javaTypeName = null;

            if ( this.getClazz() != null )
            {
                javaTypeName = JavaTypeName.parse( this.getClazz() );
            }

            return javaTypeName;
        }
        catch ( final java.text.ParseException e )
        {
            throw new ModelObjectException( getMessage( "javaTypeNameParseException", this.getClazz(),
                                                        getMessage( e ) ), e );

        }
    }
FileLine
org/jomc/model/Message.java268
org/jomc/model/Property.java257
        this.name = value;
    }

    /**
     * {@code true}, if this message is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
        if (_final == null) {
            return false;
        } else {
            return _final;
        }
    }

    /**
     * Sets the value of the final property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setFinal(Boolean value) {
        this._final = value;
    }

    /**
     * {@code true}, if this message is intended to override a super message.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isOverride() {
        if (override == null) {
            return false;
        } else {
            return override;
        }
    }

    /**
     * Sets the value of the override property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setOverride(Boolean value) {
        this.override = value;
    }

    /**
     * Copies all values of property {@code Any} deeply.
     * 
     * @param source
     *     The source to copy from.
     * @param target
     *     The target to copy {@code source} to.
     * @throws NullPointerException
     *     if {@code target} is {@code null}.
     */
    @SuppressWarnings("unchecked")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static void copyAny(final List<Object> source, final List<Object> target) {
FileLine
org/jomc/model/Argument.java248
org/jomc/model/Dependency.java396
org/jomc/model/Implementation.java668
org/jomc/model/Instance.java428
org/jomc/model/Message.java328
org/jomc/model/Module.java388
org/jomc/model/Person.java220
org/jomc/model/Specification.java434
        this.type = value;
    }

    /**
     * Copies all values of property {@code Any} deeply.
     * 
     * @param source
     *     The source to copy from.
     * @param target
     *     The target to copy {@code source} to.
     * @throws NullPointerException
     *     if {@code target} is {@code null}.
     */
    @SuppressWarnings("unchecked")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    private static void copyAny(final List<Object> source, final List<Object> target) {
        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
        if ((source!= null)&&(!source.isEmpty())) {
            for (final Iterator<?> it = source.iterator(); it.hasNext(); ) {
                final Object next = it.next();
                if (next instanceof Element) {
                    // CWildcardTypeInfo: org.w3c.dom.Element
                    target.add(((Element)((Element) next).cloneNode(true)));
                    continue;
                }
                if (next instanceof Object) {
                    // CBuiltinLeafInfo: java.lang.Object
                    target.add(copyOf(((Object) next)));
                    continue;
                }
                // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
                throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Any' of class 'org.jomc.model.Argument'."));
FileLine
org/jomc/model/ImplementationReference.java148
org/jomc/model/MessageReference.java115
org/jomc/model/PropertyReference.java115
org/jomc/model/SpecificationReference.java152
        this.version = value;
    }

    /**
     * {@code true}, if this implementation reference is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
        if (_final == null) {
            return false;
        } else {
            return _final;
        }
    }

    /**
     * Sets the value of the final property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setFinal(Boolean value) {
        this._final = value;
    }

    /**
     * {@code true}, if this implementation reference is intended to override a super implementation reference.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isOverride() {
        if (override == null) {
            return false;
        } else {
            return override;
        }
    }

    /**
     * Sets the value of the override property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setOverride(Boolean value) {
        this.override = value;
    }

    /**
     * Creates and returns a deep copy of this object.
     * 
     * 
     * @return
     *     A deep copy of this object.
     */
    @Override
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public ImplementationReference clone() {
FileLine
org/jomc/model/Dependency.java843
org/jomc/model/Implementation.java1119
org/jomc/model/Instance.java877
            final Dependency clone = ((Dependency) super.clone());
            // CClassInfo: org.jomc.model.Dependencies
            clone.dependencies = ((this.dependencies == null)?null:((this.getDependencies() == null)?null:this.getDependencies().clone()));
            // CClassInfo: org.jomc.model.Properties
            clone.properties = ((this.properties == null)?null:((this.getProperties() == null)?null:this.getProperties().clone()));
            // CClassInfo: org.jomc.model.Messages
            clone.messages = ((this.messages == null)?null:((this.getMessages() == null)?null:this.getMessages().clone()));
            // 'Any' collection.
            if (this.any!= null) {
                clone.any = null;
                copyAny(this.getAny(), clone.getAny());
            }
            // CBuiltinLeafInfo: java.lang.String
            clone.implementationName = ((this.implementationName == null)?null:this.getImplementationName());
FileLine
org/jomc/model/Dependency.java159
org/jomc/model/Implementation.java203
org/jomc/model/Instance.java169
        this.dependencies = ((o.dependencies == null)?null:((o.getDependencies() == null)?null:o.getDependencies().clone()));
        // CClassInfo: org.jomc.model.Properties
        this.properties = ((o.properties == null)?null:((o.getProperties() == null)?null:o.getProperties().clone()));
        // CClassInfo: org.jomc.model.Messages
        this.messages = ((o.messages == null)?null:((o.getMessages() == null)?null:o.getMessages().clone()));
        // 'Any' collection.
        if (o.any!= null) {
            copyAny(o.getAny(), this.getAny());
        }
        // CBuiltinLeafInfo: java.lang.String
        this.implementationName = ((o.implementationName == null)?null:o.getImplementationName());
FileLine
org/jomc/model/Implementation.java522
org/jomc/model/ImplementationReference.java122
org/jomc/model/SpecificationReference.java126
        this.vendor = value;
    }

    /**
     * The version of this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getVersion() {
        return version;
    }

    /**
     * Sets the value of the version property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setVersion(String value) {
        this.version = value;
    }

    /**
     * {@code true}, if this implementation is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
        if (_final == null) {
            return false;
        } else {
            return _final;
        }
    }

    /**
     * Sets the value of the final property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setFinal(Boolean value) {
        this._final = value;
    }

    /**
     * {@code true}, if instances of this implementation do not retain state across operations.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isStateless() {
FileLine
org/jomc/model/ImplementationReference.java148
org/jomc/model/Message.java268
org/jomc/model/MessageReference.java115
org/jomc/model/Property.java257
org/jomc/model/PropertyReference.java115
org/jomc/model/SpecificationReference.java152
        this.version = value;
    }

    /**
     * {@code true}, if this implementation reference is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
        if (_final == null) {
            return false;
        } else {
            return _final;
        }
    }

    /**
     * Sets the value of the final property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setFinal(Boolean value) {
        this._final = value;
    }

    /**
     * {@code true}, if this implementation reference is intended to override a super implementation reference.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isOverride() {
        if (override == null) {
            return false;
        } else {
            return override;
        }
    }

    /**
     * Sets the value of the override property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setOverride(Boolean value) {
        this.override = value;
    }

    /**
     * Creates and returns a deep copy of this object.
     * 
     * 
     * @return
     *     A deep copy of this object.
     */
    @Override
FileLine
org/jomc/model/Implementation.java231
org/jomc/model/Module.java175
        this.classDeclaration = ((o.classDeclaration == null)?null:o.isClassDeclaration());
    }

    /**
     * References to specifications implemented by this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Specifications }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Specifications getSpecifications() {
        return specifications;
    }

    /**
     * Sets the value of the specifications property.
     * 
     * @param value
     *     allowed object is
     *     {@link Specifications }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setSpecifications(Specifications value) {
        this.specifications = value;
    }

    /**
     * References to implementations this implementation inherits from or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Implementations }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Implementations getImplementations() {
        return implementations;
    }

    /**
     * Sets the value of the implementations property.
     * 
     * @param value
     *     allowed object is
     *     {@link Implementations }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setImplementations(Implementations value) {
        this.implementations = value;
    }

    /**
     * Dependencies of this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link Dependencies }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public Dependencies getDependencies() {
FileLine
org/jomc/model/ImplementationReference.java46
org/jomc/model/SpecificationReference.java50
    extends ModelObject
    implements Cloneable, Inheritable
{

    @XmlAttribute(name = "identifier", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected String identifier;
    @XmlAttribute(name = "version")
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected String version;
    @XmlAttribute(name = "final")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected Boolean _final;
    @XmlAttribute(name = "override")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected Boolean override;

    /**
     * Creates a new {@code ImplementationReference} instance.
     * 
     */
    public ImplementationReference() {
FileLine
org/jomc/model/modlet/DefaultModelValidator.java1329
org/jomc/model/modlet/DefaultModelValidator.java1475
                                               moduleOfImpl.getName(), m.getName(),
                                               overriddenImplementation.getIdentifier(),
                                               moduleOfMessage.getName(), getNodePathString( overriddenMessage ) );

                                }
                            }

                            retainFinalNodes( overriddenMessages );

                            for ( final InheritanceModel.Node<Message> overriddenMessage : overriddenMessages )
                            {
                                Implementation overriddenImplementation = overriddenMessage.getImplementation();
                                if ( overriddenMessage.getClassDeclaration() != null )
                                {
                                    overriddenImplementation = overriddenMessage.getClassDeclaration();
                                }

                                final Module moduleOfMessage = validationContext.getModules().getModuleOfImplementation(
                                    overriddenImplementation.getIdentifier() );

                                addDetail( validationContext.getReport(),
                                           "IMPLEMENTATION_MESSAGE_INHERITANCE_CONSTRAINT",
                                           Level.SEVERE, new ObjectFactory().createImplementation( impl ),
                                           "implementationMessageFinalConstraint", impl.getIdentifier(),
                                           moduleOfImpl.getName(), m.getName(),
FileLine
org/jomc/model/Implementation.java496
org/jomc/model/Specification.java296
        this.location = value;
    }

    /**
     * The vendor of this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getVendor() {
        return vendor;
    }

    /**
     * Sets the value of the vendor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setVendor(String value) {
        this.vendor = value;
    }

    /**
     * The version of this implementation or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getVersion() {
        return version;
    }

    /**
     * Sets the value of the version property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setVersion(String value) {
        this.version = value;
    }

    /**
     * {@code true}, if this implementation is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
FileLine
org/jomc/model/modlet/DefaultModelValidator.java1263
org/jomc/model/modlet/DefaultModelValidator.java3209
                                               moduleOfImpl.getName(), m.getName(), t.getLanguage(),
                                               message != null && message.length() > 0 ? " " + message : "" );

                                }

                                if ( validationContext.isValidateJava() )
                                {
                                    try
                                    {
                                        new MessageFormat( t.getValue(), new Locale( t.getLanguage() ) );
                                    }
                                    catch ( final IllegalArgumentException e )
                                    {
                                        final String message = getMessage( e );

                                        if ( validationContext.getModelContext().isLoggable( Level.FINE ) )
                                        {
                                            validationContext.getModelContext().log( Level.FINE, message, e );
                                        }

                                        addDetail( validationContext.getReport(),
FileLine
org/jomc/model/Implementation.java361
org/jomc/model/Instance.java289
org/jomc/model/Specification.java213
        this.messages = value;
    }

    /**
     * Gets the value of the any property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the any property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * {@link Element }
     * 
     * 
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

    /**
     * The identifier of this implementation.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getIdentifier() {
        return identifier;
    }

    /**
     * Sets the value of the identifier property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setIdentifier(String value) {
        this.identifier = value;
    }

    /**
     * The name of this implementation.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getName() {
FileLine
org/jomc/model/Message.java211
org/jomc/model/Module.java279
        this.arguments = value;
    }

    /**
     * Gets the value of the any property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the any property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * {@link Element }
     * 
     * 
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

    /**
     * The name of this message.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setName(String value) {
        this.name = value;
    }

    /**
     * {@code true}, if this message is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
FileLine
org/jomc/model/modlet/DefaultModelValidator.java413
org/jomc/model/modlet/DefaultModelValidator.java1263
org/jomc/model/modlet/DefaultModelValidator.java3210
                                           "moduleMessageTemplateMimeTypeConstraint", m.getName(), msg.getName(),
                                           t.getLanguage(),
                                           message != null && message.length() > 0 ? " " + message : "" );

                            }

                            if ( validationContext.isValidateJava() )
                            {
                                try
                                {
                                    new MessageFormat( t.getValue(), new Locale( t.getLanguage() ) );
                                }
                                catch ( final IllegalArgumentException e )
                                {
                                    final String message = getMessage( e );

                                    if ( validationContext.getModelContext().isLoggable( Level.FINE ) )
                                    {
                                        validationContext.getModelContext().log( Level.FINE, message, e );
                                    }

                                    addDetail( validationContext.getReport(), "MODULE_MESSAGE_TEMPLATE_CONSTRAINT",
FileLine
org/jomc/model/Dependency.java845
org/jomc/model/Implementation.java1121
org/jomc/model/Instance.java879
org/jomc/model/Module.java839
            clone.dependencies = ((this.dependencies == null)?null:((this.getDependencies() == null)?null:this.getDependencies().clone()));
            // CClassInfo: org.jomc.model.Properties
            clone.properties = ((this.properties == null)?null:((this.getProperties() == null)?null:this.getProperties().clone()));
            // CClassInfo: org.jomc.model.Messages
            clone.messages = ((this.messages == null)?null:((this.getMessages() == null)?null:this.getMessages().clone()));
            // 'Any' collection.
            if (this.any!= null) {
                clone.any = null;
                copyAny(this.getAny(), clone.getAny());
            }
            // CBuiltinLeafInfo: java.lang.String
            clone.implementationName = ((this.implementationName == null)?null:this.getImplementationName());
FileLine
org/jomc/model/Module.java280
org/jomc/model/Person.java138
    }

    /**
     * Gets the value of the any property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the any property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * {@link Element }
     * 
     * 
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

    /**
     * Name of this module.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setName(String value) {
        this.name = value;
    }

    /**
     * Version of this module or {@code null}.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getVersion() {
FileLine
org/jomc/model/Message.java212
org/jomc/model/Person.java138
    }

    /**
     * Gets the value of the any property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the any property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * {@link Element }
     * 
     * 
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

    /**
     * The name of this message.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public void setName(String value) {
        this.name = value;
    }

    /**
     * {@code true}, if this message is the final node in an inheritance hierarchy.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    public boolean isFinal() {
FileLine
org/jomc/model/modlet/DefaultModelProcessor.java140
org/jomc/model/modlet/DefaultModelProvider.java169
    public DefaultModelProcessor()
    {
        super();
    }

    /**
     * Gets a flag indicating the processor is enabled by default.
     * <p>The default enabled flag is controlled by system property
     * {@code org.jomc.model.modlet.DefaultModelProcessor.defaultEnabled} holding a value indicating the processor is
     * enabled by default. If that property is not set, the {@code true} default is returned.</p>
     *
     * @return {@code true}, if the processor is enabled by default; {@code false}, if the processor is disabled by
     * default.
     *
     * @see #setDefaultEnabled(java.lang.Boolean)
     */
    public static boolean isDefaultEnabled()
    {
        if ( defaultEnabled == null )
        {
            defaultEnabled =
                Boolean.valueOf( System.getProperty( DEFAULT_ENABLED_PROPERTY_NAME,
                                                     System.getProperty( DEPRECATED_DEFAULT_ENABLED_PROPERTY_NAME,
                                                                         Boolean.toString( DEFAULT_ENABLED ) ) ) );

        }

        return defaultEnabled;
    }

    /**
     * Sets the flag indicating the processor is enabled by default.
     *
     * @param value The new value of the flag indicating the processor is enabled by default or {@code null}.
     *
     * @see #isDefaultEnabled()
     */
    public static void setDefaultEnabled( final Boolean value )
    {
        defaultEnabled = value;
    }

    /**
     * Gets a flag indicating the processor is enabled.
     *
     * @return {@code true}, if the processor is enabled; {@code false}, if the processor is disabled.
     *
     * @see #isDefaultEnabled()
     * @see #setEnabled(java.lang.Boolean)
     */
    public final boolean isEnabled()
    {
        if ( this.enabled == null )
        {
            this.enabled = isDefaultEnabled();
        }

        return this.enabled;
    }

    /**
     * Sets the flag indicating the processor is enabled.
     *
     * @param value The new value of the flag indicating the processor is enabled or {@code null}.
     *
     * @see #isEnabled()
     */
    public final void setEnabled( final Boolean value )
    {
        this.enabled = value;
    }

    /**
     * Gets the default location searched for transformer resources.
     * <p>The default transformer location is controlled by system property
     * {@code org.jomc.model.modlet.DefaultModelProcessor.defaultTransformerLocation} holding the location to search for
     * transformer resources by default. If that property is not set, the {@code META-INF/jomc.xsl} default is
     * returned.</p>
     *
     * @return The location searched for transformer resources by default.
     *
     * @see #setDefaultTransformerLocation(java.lang.String)
     */
    public static String getDefaultTransformerLocation()
FileLine
org/jomc/model/Dependency.java159
org/jomc/model/Implementation.java203
org/jomc/model/Instance.java169
org/jomc/model/Module.java161
        this.dependencies = ((o.dependencies == null)?null:((o.getDependencies() == null)?null:o.getDependencies().clone()));
        // CClassInfo: org.jomc.model.Properties
        this.properties = ((o.properties == null)?null:((o.getProperties() == null)?null:o.getProperties().clone()));
        // CClassInfo: org.jomc.model.Messages
        this.messages = ((o.messages == null)?null:((o.getMessages() == null)?null:o.getMessages().clone()));
        // 'Any' collection.
        if (o.any!= null) {
            copyAny(o.getAny(), this.getAny());
        }
        // CBuiltinLeafInfo: java.lang.String
        this.implementationName = ((o.implementationName == null)?null:o.getImplementationName());
FileLine
org/jomc/model/ModelObject.java405
org/jomc/model/ModelObject.java545
            new java.util.ArrayList<javax.xml.bind.JAXBElement>( any.size() );

        for ( int i = 0, s0 = any.size(); i < s0; i++ )
        {
            final Object o = any.get( i );

            if ( o instanceof javax.xml.bind.JAXBElement<?> )
            {
                final javax.xml.bind.JAXBElement<?> e = (javax.xml.bind.JAXBElement<?>) o;

                if ( namespaceURI.equals( e.getName().getNamespaceURI() )
                     && localPart.equals( e.getName().getLocalPart() ) )
FileLine
org/jomc/model/modlet/DefaultModelValidator.java1312
org/jomc/model/modlet/DefaultModelValidator.java1458
                            if ( !( m.isOverride() || overriddenMessages.isEmpty() ) )
                            {
                                for ( final InheritanceModel.Node<Message> overriddenMessage : overriddenMessages )
                                {
                                    Implementation overriddenImplementation = overriddenMessage.getImplementation();
                                    if ( overriddenMessage.getClassDeclaration() != null )
                                    {
                                        overriddenImplementation = overriddenMessage.getClassDeclaration();
                                    }

                                    final Module moduleOfMessage =
                                        validationContext.getModules().getModuleOfImplementation(
                                        overriddenImplementation.getIdentifier() );

                                    addDetail( validationContext.getReport(), "IMPLEMENTATION_MESSAGE_OVERRIDE_WARNING",
                                               Level.WARNING, new ObjectFactory().createImplementation( impl ),
                                               "implementationMessageOverrideWarning", impl.getIdentifier(),
                                               moduleOfImpl.getName(), m.getName(),
FileLine
org/jomc/model/Dependency.java107
org/jomc/model/Implementation.java127
org/jomc/model/Instance.java114
    @XmlElement(namespace = "http://jomc.org/model")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected Dependencies dependencies;
    @XmlElement(namespace = "http://jomc.org/model")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected Properties properties;
    @XmlElement(namespace = "http://jomc.org/model")
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected Messages messages;
    @XmlAnyElement(lax = true)
    @Generated(value = "com.sun.tools.xjc.Driver", date = "2013-04-21T08:43:16+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
    protected List<Object> any;
    @XmlAttribute(name = "implementationName")
FileLine
org/jomc/model/ModelObject.java342
org/jomc/model/ModelObject.java407
org/jomc/model/ModelObject.java468
        for ( int i = 0, s0 = any.size(); i < s0; i++ )
        {
            final Object o = any.get( i );

            if ( o instanceof javax.xml.bind.JAXBElement<?> )
            {
                final javax.xml.bind.JAXBElement<?> e = (javax.xml.bind.JAXBElement<?>) o;

                if ( namespaceURI.equals( e.getName().getNamespaceURI() )
                     && localPart.equals( e.getName().getLocalPart() ) )
                {
FileLine
org/jomc/model/ModelObject.java342
org/jomc/model/ModelObject.java468
org/jomc/model/ModelObject.java547
        for ( int i = 0, s0 = any.size(); i < s0; i++ )
        {
            final Object o = any.get( i );

            if ( o instanceof javax.xml.bind.JAXBElement<?> )
            {
                final javax.xml.bind.JAXBElement<?> e = (javax.xml.bind.JAXBElement<?>) o;

                if ( namespaceURI.equals( e.getName().getNamespaceURI() )
                     && localPart.equals( e.getName().getLocalPart() ) )
FileLine
org/jomc/model/modlet/DefaultModelValidator.java669
org/jomc/model/modlet/DefaultModelValidator.java1649
org/jomc/model/modlet/DefaultModelValidator.java2894
org/jomc/model/modlet/DefaultModelValidator.java3464
                                       "modulePropertyJavaVariableNameConstraint", m.getName(), p.getName(),
                                       message != null && message.length() > 0 ? " " + message : "" );

                        }

                        try
                        {
                            p.getJavaValue( validationContext.getModelContext().getClassLoader() );
                        }
                        catch ( final ModelObjectException e )
                        {
                            final String message = getMessage( e );

                            if ( validationContext.getModelContext().isLoggable( Level.FINE ) )
                            {
                                validationContext.getModelContext().log( Level.FINE, message, e );
                            }

                            addDetail( validationContext.getReport(), "MODULE_PROPERTY_JAVA_VALUE_CONSTRAINT",
FileLine
org/jomc/model/modlet/DefaultModelValidator.java1738
org/jomc/model/modlet/DefaultModelValidator.java1810
                                }
                            }

                            retainFinalNodes( overriddenProperties );

                            for ( final InheritanceModel.Node<Property> overriddenProperty : overriddenProperties )
                            {
                                Implementation overriddenImplementation = overriddenProperty.getImplementation();
                                if ( overriddenProperty.getClassDeclaration() != null )
                                {
                                    overriddenImplementation = overriddenProperty.getClassDeclaration();
                                }

                                final Module moduleOfProperty =
                                    validationContext.getModules().getModuleOfImplementation(
                                    overriddenImplementation.getIdentifier() );

                                addDetail( validationContext.getReport(),
                                           "IMPLEMENTATION_PROPERTY_INHERITANCE_CONSTRAINT",
                                           Level.SEVERE, new ObjectFactory().createImplementation( impl ),
                                           "implementationPropertyFinalConstraint", impl.getIdentifier(),
                                           moduleOfImpl.getName(), p.getName(),