//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.1-05/30/2003 05:06 AM(java_re)-fcs 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2004.05.05 at 11:23:00 PDT 
//


package CMSDDL;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the CMSDDL package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
public class ObjectFactory
    extends CMSDDL.impl.runtime.DefaultJAXBContextImpl
{

    private static java.util.HashMap defaultImplementations = new java.util.HashMap();
    public final static java.lang.Class version = (CMSDDL.impl.JAXBVersion.class);

    static {
        defaultImplementations.put("CMSDDL.ParE", "CMSDDL.impl.ParEImpl");
        defaultImplementations.put("CMSDDL.Solid", "CMSDDL.impl.SolidImpl");
        defaultImplementations.put("CMSDDL.Tubs", "CMSDDL.impl.TubsImpl");
        defaultImplementations.put("CMSDDL.Material", "CMSDDL.impl.MaterialImpl");
        defaultImplementations.put("CMSDDL.TubsType", "CMSDDL.impl.TubsTypeImpl");
        defaultImplementations.put("CMSDDL.Polycone", "CMSDDL.impl.PolyconeImpl");
        defaultImplementations.put("CMSDDL.ElementaryMaterialType", "CMSDDL.impl.ElementaryMaterialTypeImpl");
        defaultImplementations.put("CMSDDL.RReflectionRotation", "CMSDDL.impl.RReflectionRotationImpl");
        defaultImplementations.put("CMSDDL.ReflectionRotation", "CMSDDL.impl.ReflectionRotationImpl");
        defaultImplementations.put("CMSDDL.PartSelectorType", "CMSDDL.impl.PartSelectorTypeImpl");
        defaultImplementations.put("CMSDDL.SectionType", "CMSDDL.impl.SectionTypeImpl");
        defaultImplementations.put("CMSDDL.AlgoPosPartType", "CMSDDL.impl.AlgoPosPartTypeImpl");
        defaultImplementations.put("CMSDDL.CompositeMaterial", "CMSDDL.impl.CompositeMaterialImpl");
        defaultImplementations.put("CMSDDL.LogicalPartSection", "CMSDDL.impl.LogicalPartSectionImpl");
        defaultImplementations.put("CMSDDL.PosPart", "CMSDDL.impl.PosPartImpl");
        defaultImplementations.put("CMSDDL.DDDefinition", "CMSDDL.impl.DDDefinitionImpl");
        defaultImplementations.put("CMSDDL.AlgoPosPart", "CMSDDL.impl.AlgoPosPartImpl");
        defaultImplementations.put("CMSDDL.Tube", "CMSDDL.impl.TubeImpl");
        defaultImplementations.put("CMSDDL.PolyconeType", "CMSDDL.impl.PolyconeTypeImpl");
        defaultImplementations.put("CMSDDL.RRotation", "CMSDDL.impl.RRotationImpl");
        defaultImplementations.put("CMSDDL.PosPartSection", "CMSDDL.impl.PosPartSectionImpl");
        defaultImplementations.put("CMSDDL.ConeType", "CMSDDL.impl.ConeTypeImpl");
        defaultImplementations.put("CMSDDL.ShapelessSolid", "CMSDDL.impl.ShapelessSolidImpl");
        defaultImplementations.put("CMSDDL.SpecParSection", "CMSDDL.impl.SpecParSectionImpl");
        defaultImplementations.put("CMSDDL.Constant", "CMSDDL.impl.ConstantImpl");
        defaultImplementations.put("CMSDDL.Trd1Type", "CMSDDL.impl.Trd1TypeImpl");
        defaultImplementations.put("CMSDDL.ShapelessSolidType", "CMSDDL.impl.ShapelessSolidTypeImpl");
        defaultImplementations.put("CMSDDL.Section", "CMSDDL.impl.SectionImpl");
        defaultImplementations.put("CMSDDL.TrapezoidType", "CMSDDL.impl.TrapezoidTypeImpl");
        defaultImplementations.put("CMSDDL.MaterialFraction", "CMSDDL.impl.MaterialFractionImpl");
        defaultImplementations.put("CMSDDL.ConstantsSectionType", "CMSDDL.impl.ConstantsSectionTypeImpl");
        defaultImplementations.put("CMSDDL.ConstantsSection", "CMSDDL.impl.ConstantsSectionImpl");
        defaultImplementations.put("CMSDDL.TranslationType", "CMSDDL.impl.TranslationTypeImpl");
        defaultImplementations.put("CMSDDL.DDDefinitionType", "CMSDDL.impl.DDDefinitionTypeImpl");
        defaultImplementations.put("CMSDDL.Box", "CMSDDL.impl.BoxImpl");
        defaultImplementations.put("CMSDDL.ZSectionType", "CMSDDL.impl.ZSectionTypeImpl");
        defaultImplementations.put("CMSDDL.BoxType", "CMSDDL.impl.BoxTypeImpl");
        defaultImplementations.put("CMSDDL.RotationSectionType", "CMSDDL.impl.RotationSectionTypeImpl");
        defaultImplementations.put("CMSDDL.ReflectionSolidType", "CMSDDL.impl.ReflectionSolidTypeImpl");
        defaultImplementations.put("CMSDDL.MaterialFractionType", "CMSDDL.impl.MaterialFractionTypeImpl");
        defaultImplementations.put("CMSDDL.RotationType", "CMSDDL.impl.RotationTypeImpl");
        defaultImplementations.put("CMSDDL.SolidSection", "CMSDDL.impl.SolidSectionImpl");
        defaultImplementations.put("CMSDDL.ReferenceType", "CMSDDL.impl.ReferenceTypeImpl");
        defaultImplementations.put("CMSDDL.ReflectionSolid", "CMSDDL.impl.ReflectionSolidImpl");
        defaultImplementations.put("CMSDDL.SpecParSectionType", "CMSDDL.impl.SpecParSectionTypeImpl");
        defaultImplementations.put("CMSDDL.MaterialType", "CMSDDL.impl.MaterialTypeImpl");
        defaultImplementations.put("CMSDDL.RSolid", "CMSDDL.impl.RSolidImpl");
        defaultImplementations.put("CMSDDL.ParameterType", "CMSDDL.impl.ParameterTypeImpl");
        defaultImplementations.put("CMSDDL.SpecPar", "CMSDDL.impl.SpecParImpl");
        defaultImplementations.put("CMSDDL.RParent", "CMSDDL.impl.RParentImpl");
        defaultImplementations.put("CMSDDL.RotationSection", "CMSDDL.impl.RotationSectionImpl");
        defaultImplementations.put("CMSDDL.MaterialSection", "CMSDDL.impl.MaterialSectionImpl");
        defaultImplementations.put("CMSDDL.UnionSolid", "CMSDDL.impl.UnionSolidImpl");
        defaultImplementations.put("CMSDDL.LogicalPartType", "CMSDDL.impl.LogicalPartTypeImpl");
        defaultImplementations.put("CMSDDL.SpecParType", "CMSDDL.impl.SpecParTypeImpl");
        defaultImplementations.put("CMSDDL.RZPointType", "CMSDDL.impl.RZPointTypeImpl");
        defaultImplementations.put("CMSDDL.ParS", "CMSDDL.impl.ParSImpl");
        defaultImplementations.put("CMSDDL.PartSelector", "CMSDDL.impl.PartSelectorImpl");
        defaultImplementations.put("CMSDDL.Cone", "CMSDDL.impl.ConeImpl");
        defaultImplementations.put("CMSDDL.SolidType", "CMSDDL.impl.SolidTypeImpl");
        defaultImplementations.put("CMSDDL.MaterialSectionType", "CMSDDL.impl.MaterialSectionTypeImpl");
        defaultImplementations.put("CMSDDL.Polyhedra", "CMSDDL.impl.PolyhedraImpl");
        defaultImplementations.put("CMSDDL.Trapezoid", "CMSDDL.impl.TrapezoidImpl");
        defaultImplementations.put("CMSDDL.RMaterial", "CMSDDL.impl.RMaterialImpl");
        defaultImplementations.put("CMSDDL.ElementaryMaterial", "CMSDDL.impl.ElementaryMaterialImpl");
        defaultImplementations.put("CMSDDL.Translation", "CMSDDL.impl.TranslationImpl");
        defaultImplementations.put("CMSDDL.Trd1", "CMSDDL.impl.Trd1Impl");
        defaultImplementations.put("CMSDDL.Parameter", "CMSDDL.impl.ParameterImpl");
        defaultImplementations.put("CMSDDL.IntersectionSolid", "CMSDDL.impl.IntersectionSolidImpl");
        defaultImplementations.put("CMSDDL.LogicalPartSectionType", "CMSDDL.impl.LogicalPartSectionTypeImpl");
        defaultImplementations.put("CMSDDL.RZPoint", "CMSDDL.impl.RZPointImpl");
        defaultImplementations.put("CMSDDL.RChild", "CMSDDL.impl.RChildImpl");
        defaultImplementations.put("CMSDDL.Rotation", "CMSDDL.impl.RotationImpl");
        defaultImplementations.put("CMSDDL.ZSection", "CMSDDL.impl.ZSectionImpl");
        defaultImplementations.put("CMSDDL.PolyhedraType", "CMSDDL.impl.PolyhedraTypeImpl");
        defaultImplementations.put("CMSDDL.SubtractionSolid", "CMSDDL.impl.SubtractionSolidImpl");
        defaultImplementations.put("CMSDDL.CompositeMaterialType", "CMSDDL.impl.CompositeMaterialTypeImpl");
        defaultImplementations.put("CMSDDL.SolidSectionType", "CMSDDL.impl.SolidSectionTypeImpl");
        defaultImplementations.put("CMSDDL.PosPartType", "CMSDDL.impl.PosPartTypeImpl");
        defaultImplementations.put("CMSDDL.PosPartSectionType", "CMSDDL.impl.PosPartSectionTypeImpl");
        defaultImplementations.put("CMSDDL.TubeType", "CMSDDL.impl.TubeTypeImpl");
        defaultImplementations.put("CMSDDL.BooleanSolidType", "CMSDDL.impl.BooleanSolidTypeImpl");
        defaultImplementations.put("CMSDDL.LogicalPart", "CMSDDL.impl.LogicalPartImpl");
    }

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: CMSDDL
     * 
     */
    public ObjectFactory() {
        super(new CMSDDL.ObjectFactory.GrammarInfoImpl());
    }

    /**
     * Create an instance of the specified Java content interface.
     * 
     * @param javaContentInterface the Class object of the javacontent interface to instantiate
     * @return a new instance
     * @throws JAXBException if an error occurs
     */
    public java.lang.Object newInstance(java.lang.Class javaContentInterface)
        throws javax.xml.bind.JAXBException
    {
        return super.newInstance(javaContentInterface);
    }

    /**
     * Get the specified property. This method can only be
     * used to get provider specific properties.
     * Attempting to get an undefined property will result
     * in a PropertyException being thrown.
     * 
     * @param name the name of the property to retrieve
     * @return the value of the requested property
     * @throws PropertyException when there is an error retrieving the given property or value
     */
    public java.lang.Object getProperty(java.lang.String name)
        throws javax.xml.bind.PropertyException
    {
        return super.getProperty(name);
    }

    /**
     * Set the specified property. This method can only be
     * used to set provider specific properties.
     * Attempting to set an undefined property will result
     * in a PropertyException being thrown.
     * 
     * @param name the name of the property to retrieve
     * @param value the value of the property to be set
     * @throws PropertyException when there is an error processing the given property or value
     */
    public void setProperty(java.lang.String name, java.lang.Object value)
        throws javax.xml.bind.PropertyException
    {
        super.setProperty(name, value);
    }

    /**
     * Create an instance of ParE
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ParE createParE()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ParEImpl();
    }

    /**
     * Create an instance of Solid
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Solid createSolid()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SolidImpl();
    }

    /**
     * Create an instance of Tubs
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Tubs createTubs()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.TubsImpl();
    }

    /**
     * Create an instance of Material
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Material createMaterial()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.MaterialImpl();
    }

    /**
     * Create an instance of TubsType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.TubsType createTubsType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.TubsTypeImpl();
    }

    /**
     * Create an instance of Polycone
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Polycone createPolycone()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PolyconeImpl();
    }

    /**
     * Create an instance of ElementaryMaterialType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ElementaryMaterialType createElementaryMaterialType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ElementaryMaterialTypeImpl();
    }

    /**
     * Create an instance of RReflectionRotation
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RReflectionRotation createRReflectionRotation()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RReflectionRotationImpl();
    }

    /**
     * Create an instance of ReflectionRotation
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ReflectionRotation createReflectionRotation()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ReflectionRotationImpl();
    }

    /**
     * Create an instance of PartSelectorType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.PartSelectorType createPartSelectorType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PartSelectorTypeImpl();
    }

    /**
     * Create an instance of SectionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.SectionType createSectionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SectionTypeImpl();
    }

    /**
     * Create an instance of AlgoPosPartType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.AlgoPosPartType createAlgoPosPartType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.AlgoPosPartTypeImpl();
    }

    /**
     * Create an instance of CompositeMaterial
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.CompositeMaterial createCompositeMaterial()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.CompositeMaterialImpl();
    }

    /**
     * Create an instance of LogicalPartSection
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.LogicalPartSection createLogicalPartSection()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.LogicalPartSectionImpl();
    }

    /**
     * Create an instance of PosPart
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.PosPart createPosPart()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PosPartImpl();
    }

    /**
     * Create an instance of DDDefinition
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.DDDefinition createDDDefinition()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.DDDefinitionImpl();
    }

    /**
     * Create an instance of AlgoPosPart
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.AlgoPosPart createAlgoPosPart()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.AlgoPosPartImpl();
    }

    /**
     * Create an instance of Tube
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Tube createTube()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.TubeImpl();
    }

    /**
     * Create an instance of PolyconeType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.PolyconeType createPolyconeType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PolyconeTypeImpl();
    }

    /**
     * Create an instance of RRotation
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RRotation createRRotation()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RRotationImpl();
    }

    /**
     * Create an instance of PosPartSection
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.PosPartSection createPosPartSection()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PosPartSectionImpl();
    }

    /**
     * Create an instance of ConeType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ConeType createConeType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ConeTypeImpl();
    }

    /**
     * Create an instance of ShapelessSolid
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ShapelessSolid createShapelessSolid()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ShapelessSolidImpl();
    }

    /**
     * Create an instance of SpecParSection
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.SpecParSection createSpecParSection()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SpecParSectionImpl();
    }

    /**
     * Create an instance of Constant
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Constant createConstant()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ConstantImpl();
    }

    /**
     * Create an instance of Trd1Type
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Trd1Type createTrd1Type()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.Trd1TypeImpl();
    }

    /**
     * Create an instance of ShapelessSolidType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ShapelessSolidType createShapelessSolidType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ShapelessSolidTypeImpl();
    }

    /**
     * Create an instance of Section
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Section createSection()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SectionImpl();
    }

    /**
     * Create an instance of TrapezoidType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.TrapezoidType createTrapezoidType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.TrapezoidTypeImpl();
    }

    /**
     * Create an instance of MaterialFraction
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.MaterialFraction createMaterialFraction()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.MaterialFractionImpl();
    }

    /**
     * Create an instance of ConstantsSectionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ConstantsSectionType createConstantsSectionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ConstantsSectionTypeImpl();
    }

    /**
     * Create an instance of ConstantsSection
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ConstantsSection createConstantsSection()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ConstantsSectionImpl();
    }

    /**
     * Create an instance of TranslationType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.TranslationType createTranslationType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.TranslationTypeImpl();
    }

    /**
     * Create an instance of DDDefinitionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.DDDefinitionType createDDDefinitionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.DDDefinitionTypeImpl();
    }

    /**
     * Create an instance of Box
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Box createBox()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.BoxImpl();
    }

    /**
     * Create an instance of ZSectionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ZSectionType createZSectionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ZSectionTypeImpl();
    }

    /**
     * Create an instance of BoxType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.BoxType createBoxType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.BoxTypeImpl();
    }

    /**
     * Create an instance of RotationSectionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RotationSectionType createRotationSectionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RotationSectionTypeImpl();
    }

    /**
     * Create an instance of ReflectionSolidType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ReflectionSolidType createReflectionSolidType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ReflectionSolidTypeImpl();
    }

    /**
     * Create an instance of MaterialFractionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.MaterialFractionType createMaterialFractionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.MaterialFractionTypeImpl();
    }

    /**
     * Create an instance of RotationType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RotationType createRotationType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RotationTypeImpl();
    }

    /**
     * Create an instance of SolidSection
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.SolidSection createSolidSection()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SolidSectionImpl();
    }

    /**
     * Create an instance of ReferenceType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ReferenceType createReferenceType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ReferenceTypeImpl();
    }

    /**
     * Create an instance of ReflectionSolid
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ReflectionSolid createReflectionSolid()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ReflectionSolidImpl();
    }

    /**
     * Create an instance of SpecParSectionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.SpecParSectionType createSpecParSectionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SpecParSectionTypeImpl();
    }

    /**
     * Create an instance of MaterialType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.MaterialType createMaterialType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.MaterialTypeImpl();
    }

    /**
     * Create an instance of RSolid
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RSolid createRSolid()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RSolidImpl();
    }

    /**
     * Create an instance of ParameterType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ParameterType createParameterType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ParameterTypeImpl();
    }

    /**
     * Create an instance of SpecPar
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.SpecPar createSpecPar()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SpecParImpl();
    }

    /**
     * Create an instance of RParent
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RParent createRParent()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RParentImpl();
    }

    /**
     * Create an instance of RotationSection
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RotationSection createRotationSection()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RotationSectionImpl();
    }

    /**
     * Create an instance of MaterialSection
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.MaterialSection createMaterialSection()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.MaterialSectionImpl();
    }

    /**
     * Create an instance of UnionSolid
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.UnionSolid createUnionSolid()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.UnionSolidImpl();
    }

    /**
     * Create an instance of LogicalPartType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.LogicalPartType createLogicalPartType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.LogicalPartTypeImpl();
    }

    /**
     * Create an instance of SpecParType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.SpecParType createSpecParType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SpecParTypeImpl();
    }

    /**
     * Create an instance of RZPointType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RZPointType createRZPointType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RZPointTypeImpl();
    }

    /**
     * Create an instance of ParS
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ParS createParS()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ParSImpl();
    }

    /**
     * Create an instance of PartSelector
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.PartSelector createPartSelector()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PartSelectorImpl();
    }

    /**
     * Create an instance of Cone
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Cone createCone()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ConeImpl();
    }

    /**
     * Create an instance of SolidType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.SolidType createSolidType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SolidTypeImpl();
    }

    /**
     * Create an instance of MaterialSectionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.MaterialSectionType createMaterialSectionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.MaterialSectionTypeImpl();
    }

    /**
     * Create an instance of Polyhedra
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Polyhedra createPolyhedra()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PolyhedraImpl();
    }

    /**
     * Create an instance of Trapezoid
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Trapezoid createTrapezoid()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.TrapezoidImpl();
    }

    /**
     * Create an instance of RMaterial
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RMaterial createRMaterial()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RMaterialImpl();
    }

    /**
     * Create an instance of ElementaryMaterial
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ElementaryMaterial createElementaryMaterial()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ElementaryMaterialImpl();
    }

    /**
     * Create an instance of Translation
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Translation createTranslation()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.TranslationImpl();
    }

    /**
     * Create an instance of Trd1
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Trd1 createTrd1()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.Trd1Impl();
    }

    /**
     * Create an instance of Parameter
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Parameter createParameter()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ParameterImpl();
    }

    /**
     * Create an instance of IntersectionSolid
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.IntersectionSolid createIntersectionSolid()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.IntersectionSolidImpl();
    }

    /**
     * Create an instance of LogicalPartSectionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.LogicalPartSectionType createLogicalPartSectionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.LogicalPartSectionTypeImpl();
    }

    /**
     * Create an instance of RZPoint
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RZPoint createRZPoint()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RZPointImpl();
    }

    /**
     * Create an instance of RChild
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.RChild createRChild()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RChildImpl();
    }

    /**
     * Create an instance of Rotation
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.Rotation createRotation()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.RotationImpl();
    }

    /**
     * Create an instance of ZSection
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.ZSection createZSection()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.ZSectionImpl();
    }

    /**
     * Create an instance of PolyhedraType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.PolyhedraType createPolyhedraType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PolyhedraTypeImpl();
    }

    /**
     * Create an instance of SubtractionSolid
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.SubtractionSolid createSubtractionSolid()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SubtractionSolidImpl();
    }

    /**
     * Create an instance of CompositeMaterialType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.CompositeMaterialType createCompositeMaterialType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.CompositeMaterialTypeImpl();
    }

    /**
     * Create an instance of SolidSectionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.SolidSectionType createSolidSectionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.SolidSectionTypeImpl();
    }

    /**
     * Create an instance of PosPartType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.PosPartType createPosPartType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PosPartTypeImpl();
    }

    /**
     * Create an instance of PosPartSectionType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.PosPartSectionType createPosPartSectionType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.PosPartSectionTypeImpl();
    }

    /**
     * Create an instance of TubeType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.TubeType createTubeType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.TubeTypeImpl();
    }

    /**
     * Create an instance of BooleanSolidType
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.BooleanSolidType createBooleanSolidType()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.BooleanSolidTypeImpl();
    }

    /**
     * Create an instance of LogicalPart
     * 
     * @throws JAXBException if an error occurs
     */
    public CMSDDL.LogicalPart createLogicalPart()
        throws javax.xml.bind.JAXBException
    {
        return new CMSDDL.impl.LogicalPartImpl();
    }

    private static class GrammarInfoImpl
        extends CMSDDL.impl.runtime.AbstractGrammarInfoImpl
    {


        public java.lang.Class getDefaultImplementation(java.lang.Class javaContentInterface) {
            java.lang.Class c = null;
            try {
                c = java.lang.Class.forName(((java.lang.String) defaultImplementations.get(javaContentInterface.getName())));
            } catch (java.lang.Exception _x) {
                c = null;
            }
            return c;
        }

        public CMSDDL.impl.runtime.UnmarshallingEventHandler createUnmarshaller(java.lang.String uri, java.lang.String local, CMSDDL.impl.runtime.UnmarshallingContext context) {
            if (("SubtractionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.SubtractionSolidImpl().createUnmarshaller(context);
            }
            if (("Translation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.TranslationImpl().createUnmarshaller(context);
            }
            if (("SpecPar" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.SpecParImpl().createUnmarshaller(context);
            }
            if (("Cone" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ConeImpl().createUnmarshaller(context);
            }
            if (("PartSelector" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.PartSelectorImpl().createUnmarshaller(context);
            }
            if (("ReflectionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ReflectionSolidImpl().createUnmarshaller(context);
            }
            if (("rSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.RSolidImpl().createUnmarshaller(context);
            }
            if (("UnionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.UnionSolidImpl().createUnmarshaller(context);
            }
            if (("RotationSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.RotationSectionImpl().createUnmarshaller(context);
            }
            if (("ConstantsSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ConstantsSectionImpl().createUnmarshaller(context);
            }
            if (("Parameter" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ParameterImpl().createUnmarshaller(context);
            }
            if (("MaterialSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.MaterialSectionImpl().createUnmarshaller(context);
            }
            if (("rMaterial" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.RMaterialImpl().createUnmarshaller(context);
            }
            if (("ParE" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ParEImpl().createUnmarshaller(context);
            }
            if (("Solid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.SolidImpl().createUnmarshaller(context);
            }
            if (("SpecParSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.SpecParSectionImpl().createUnmarshaller(context);
            }
            if (("Section" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.SectionImpl().createUnmarshaller(context);
            }
            if (("Rotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.RotationImpl().createUnmarshaller(context);
            }
            if (("ReflectionRotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ReflectionRotationImpl().createUnmarshaller(context);
            }
            if (("Box" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.BoxImpl().createUnmarshaller(context);
            }
            if (("MaterialFraction" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.MaterialFractionImpl().createUnmarshaller(context);
            }
            if (("PosPart" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.PosPartImpl().createUnmarshaller(context);
            }
            if (("CompositeMaterial" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.CompositeMaterialImpl().createUnmarshaller(context);
            }
            if (("IntersectionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.IntersectionSolidImpl().createUnmarshaller(context);
            }
            if (("Constant" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ConstantImpl().createUnmarshaller(context);
            }
            if (("Material" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.MaterialImpl().createUnmarshaller(context);
            }
            if (("DDDefinition" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.DDDefinitionImpl().createUnmarshaller(context);
            }
            if (("rReflectionRotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.RReflectionRotationImpl().createUnmarshaller(context);
            }
            if (("LogicalPartSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.LogicalPartSectionImpl().createUnmarshaller(context);
            }
            if (("Polyhedra" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.PolyhedraImpl().createUnmarshaller(context);
            }
            if (("ShapelessSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ShapelessSolidImpl().createUnmarshaller(context);
            }
            if (("ParS" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ParSImpl().createUnmarshaller(context);
            }
            if (("Trapezoid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.TrapezoidImpl().createUnmarshaller(context);
            }
            if (("Tubs" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.TubsImpl().createUnmarshaller(context);
            }
            if (("RZPoint" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.RZPointImpl().createUnmarshaller(context);
            }
            if (("Trd1" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.Trd1Impl().createUnmarshaller(context);
            }
            if (("PosPartSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.PosPartSectionImpl().createUnmarshaller(context);
            }
            if (("LogicalPart" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.LogicalPartImpl().createUnmarshaller(context);
            }
            if (("rChild" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.RChildImpl().createUnmarshaller(context);
            }
            if (("ElementaryMaterial" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ElementaryMaterialImpl().createUnmarshaller(context);
            }
            if (("rParent" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.RParentImpl().createUnmarshaller(context);
            }
            if (("SolidSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.SolidSectionImpl().createUnmarshaller(context);
            }
            if (("Tube" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.TubeImpl().createUnmarshaller(context);
            }
            if (("rRotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.RRotationImpl().createUnmarshaller(context);
            }
            if (("Polycone" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.PolyconeImpl().createUnmarshaller(context);
            }
            if (("AlgoPosPart" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.AlgoPosPartImpl().createUnmarshaller(context);
            }
            if (("ZSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return new CMSDDL.impl.ZSectionImpl().createUnmarshaller(context);
            }
            return null;
        }

        public java.lang.Class getRootElement(java.lang.String uri, java.lang.String local) {
            if (("SubtractionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.SubtractionSolidImpl.class);
            }
            if (("Translation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.TranslationImpl.class);
            }
            if (("SpecPar" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.SpecParImpl.class);
            }
            if (("Cone" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ConeImpl.class);
            }
            if (("PartSelector" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.PartSelectorImpl.class);
            }
            if (("ReflectionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ReflectionSolidImpl.class);
            }
            if (("rSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.RSolidImpl.class);
            }
            if (("UnionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.UnionSolidImpl.class);
            }
            if (("RotationSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.RotationSectionImpl.class);
            }
            if (("ConstantsSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ConstantsSectionImpl.class);
            }
            if (("Parameter" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ParameterImpl.class);
            }
            if (("MaterialSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.MaterialSectionImpl.class);
            }
            if (("rMaterial" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.RMaterialImpl.class);
            }
            if (("ParE" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ParEImpl.class);
            }
            if (("Solid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.SolidImpl.class);
            }
            if (("SpecParSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.SpecParSectionImpl.class);
            }
            if (("Section" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.SectionImpl.class);
            }
            if (("Rotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.RotationImpl.class);
            }
            if (("ReflectionRotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ReflectionRotationImpl.class);
            }
            if (("Box" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.BoxImpl.class);
            }
            if (("MaterialFraction" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.MaterialFractionImpl.class);
            }
            if (("PosPart" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.PosPartImpl.class);
            }
            if (("CompositeMaterial" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.CompositeMaterialImpl.class);
            }
            if (("IntersectionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.IntersectionSolidImpl.class);
            }
            if (("Constant" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ConstantImpl.class);
            }
            if (("Material" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.MaterialImpl.class);
            }
            if (("DDDefinition" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.DDDefinitionImpl.class);
            }
            if (("rReflectionRotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.RReflectionRotationImpl.class);
            }
            if (("LogicalPartSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.LogicalPartSectionImpl.class);
            }
            if (("Polyhedra" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.PolyhedraImpl.class);
            }
            if (("ShapelessSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ShapelessSolidImpl.class);
            }
            if (("ParS" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ParSImpl.class);
            }
            if (("Trapezoid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.TrapezoidImpl.class);
            }
            if (("Tubs" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.TubsImpl.class);
            }
            if (("RZPoint" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.RZPointImpl.class);
            }
            if (("Trd1" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.Trd1Impl.class);
            }
            if (("PosPartSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.PosPartSectionImpl.class);
            }
            if (("LogicalPart" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.LogicalPartImpl.class);
            }
            if (("rChild" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.RChildImpl.class);
            }
            if (("ElementaryMaterial" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ElementaryMaterialImpl.class);
            }
            if (("rParent" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.RParentImpl.class);
            }
            if (("SolidSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.SolidSectionImpl.class);
            }
            if (("Tube" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.TubeImpl.class);
            }
            if (("rRotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.RRotationImpl.class);
            }
            if (("Polycone" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.PolyconeImpl.class);
            }
            if (("AlgoPosPart" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.AlgoPosPartImpl.class);
            }
            if (("ZSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return (CMSDDL.impl.ZSectionImpl.class);
            }
            return null;
        }

        public boolean recognize(java.lang.String uri, java.lang.String local) {
            if (("SubtractionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Translation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("SpecPar" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Cone" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("PartSelector" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("ReflectionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("rSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("UnionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("RotationSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("ConstantsSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Parameter" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("MaterialSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("rMaterial" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("ParE" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Solid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("SpecParSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Section" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Rotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("ReflectionRotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Box" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("MaterialFraction" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("PosPart" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("CompositeMaterial" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("IntersectionSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Constant" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Material" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("DDDefinition" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("rReflectionRotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("LogicalPartSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Polyhedra" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("ShapelessSolid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("ParS" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Trapezoid" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Tubs" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("RZPoint" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Trd1" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("PosPartSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("LogicalPart" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("rChild" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("ElementaryMaterial" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("rParent" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("SolidSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Tube" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("rRotation" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("Polycone" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("AlgoPosPart" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            if (("ZSection" == local)&&("http://www.cern.ch/cms/DDL" == uri)) {
                return true;
            }
            return false;
        }

        public java.lang.String[] getProbePoints() {
            return new java.lang.String[] {"http://www.cern.ch/cms/DDL", "SubtractionSolid", "http://www.cern.ch/cms/DDL", "Translation", "http://www.cern.ch/cms/DDL", "SpecPar", "http://www.cern.ch/cms/DDL", "Cone", "http://www.cern.ch/cms/DDL", "PartSelector", "http://www.cern.ch/cms/DDL", "ReflectionSolid", "http://www.cern.ch/cms/DDL", "rSolid", "http://www.cern.ch/cms/DDL", "UnionSolid", "http://www.cern.ch/cms/DDL", "RotationSection", "http://www.cern.ch/cms/DDL", "ConstantsSection", "http://www.cern.ch/cms/DDL", "Parameter", "http://www.cern.ch/cms/DDL", "MaterialSection", "http://www.cern.ch/cms/DDL", "rMaterial", "http://www.cern.ch/cms/DDL", "ParE", "http://www.cern.ch/cms/DDL", "Solid", "http://www.cern.ch/cms/DDL", "SpecParSection", "http://www.cern.ch/cms/DDL", "Section", "http://www.cern.ch/cms/DDL", "Rotation", "http://www.cern.ch/cms/DDL", "ReflectionRotation", "http://www.cern.ch/cms/DDL", "Box", "http://www.cern.ch/cms/DDL", "MaterialFraction", "http://www.cern.ch/cms/DDL", "PosPart", "http://www.cern.ch/cms/DDL", "CompositeMaterial", "http://www.cern.ch/cms/DDL", "IntersectionSolid", "http://www.cern.ch/cms/DDL", "Constant", "http://www.cern.ch/cms/DDL", "Material", "http://www.cern.ch/cms/DDL", "DDDefinition", "http://www.cern.ch/cms/DDL", "rReflectionRotation", "http://www.cern.ch/cms/DDL", "LogicalPartSection", "http://www.cern.ch/cms/DDL", "Polyhedra", "http://www.cern.ch/cms/DDL", "ShapelessSolid", "http://www.cern.ch/cms/DDL", "ParS", "http://www.cern.ch/cms/DDL", "Trapezoid", "http://www.cern.ch/cms/DDL", "Tubs", "http://www.cern.ch/cms/DDL", "RZPoint", "http://www.cern.ch/cms/DDL", "Trd1", "http://www.cern.ch/cms/DDL", "PosPartSection", "http://www.cern.ch/cms/DDL", "LogicalPart", "http://www.cern.ch/cms/DDL", "rChild", "http://www.cern.ch/cms/DDL", "ElementaryMaterial", "http://www.cern.ch/cms/DDL", "rParent", "http://www.cern.ch/cms/DDL", "SolidSection", "http://www.cern.ch/cms/DDL", "Tube", "http://www.cern.ch/cms/DDL", "rRotation", "http://www.cern.ch/cms/DDL", "Polycone", "http://www.cern.ch/cms/DDL", "AlgoPosPart", "http://www.cern.ch/cms/DDL", "ZSection"};
        }

    }

}
