//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-b27-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: 2012.06.11 at 10:34:07 AM PDT 
//


package com.sun.identity.saml2.jaxb.metadata;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the com.sun.identity.saml2.jaxb.metadata 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 com.sun.identity.saml2.jaxb.assertion.impl.runtime.DefaultJAXBContextImpl
{

    private static java.util.HashMap defaultImplementations = new java.util.HashMap(93, 0.75F);
    private static java.util.HashMap rootTagMap = new java.util.HashMap();
    public final static com.sun.identity.saml2.jaxb.assertion.impl.runtime.GrammarInfo grammarInfo = new com.sun.identity.saml2.jaxb.assertion.impl.runtime.GrammarInfoImpl(rootTagMap, defaultImplementations, (com.sun.identity.saml2.jaxb.metadata.ObjectFactory.class));
    public final static java.lang.Class version = (com.sun.identity.saml2.jaxb.metadata.impl.JAXBVersion.class);

    static {
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.EmailAddressElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.EmailAddressElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.KeyDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.KeyDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.OrganizationElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.OrganizationElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.RoleDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.RoleDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.EntitiesDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.EntitiesDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AssertionIDRequestServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AssertionIDRequestServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AdditionalMetadataLocationType.class), "com.sun.identity.saml2.jaxb.metadata.impl.AdditionalMetadataLocationTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.SSODescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.SSODescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.ArtifactResolutionServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.ArtifactResolutionServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.EntitiesDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.EntitiesDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.XACMLPDPDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.XACMLPDPDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.XACMLAuthzDecisionQueryDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.XACMLAuthzDecisionQueryDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.ExtensionsElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.ExtensionsElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AttributeAuthorityDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AttributeAuthorityDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AuthzServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AuthzServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.GivenNameElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.GivenNameElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.RoleDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.RoleDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AuthnAuthorityDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AuthnAuthorityDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.LocalizedURIType.class), "com.sun.identity.saml2.jaxb.metadata.impl.LocalizedURITypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.OrganizationDisplayNameElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.OrganizationDisplayNameElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.TelephoneNumberElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.TelephoneNumberElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.PDPDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.PDPDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.OrganizationType.class), "com.sun.identity.saml2.jaxb.metadata.impl.OrganizationTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AttributeServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AttributeServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.XACMLPDPDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.XACMLPDPDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AffiliationDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AffiliationDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.EntityDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.EntityDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.EncryptionMethodElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.EncryptionMethodElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.XACMLAuthzDecisionQueryDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.XACMLAuthzDecisionQueryDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AssertionConsumerServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AssertionConsumerServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.IDPSSODescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.IDPSSODescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.QueryDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.QueryDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AuthnQueryServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AuthnQueryServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.RequestedAttributeType.class), "com.sun.identity.saml2.jaxb.metadata.impl.RequestedAttributeTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AttributeAuthorityDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.AttributeAuthorityDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.XACMLAuthzServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.XACMLAuthzServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AuthnAuthorityDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.AuthnAuthorityDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.OrganizationURLElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.OrganizationURLElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AttributeConsumingServiceType.class), "com.sun.identity.saml2.jaxb.metadata.impl.AttributeConsumingServiceTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.SurNameElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.SurNameElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AdditionalMetadataLocationElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AdditionalMetadataLocationElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.NameIDFormatElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.NameIDFormatElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.EndpointType.class), "com.sun.identity.saml2.jaxb.metadata.impl.EndpointTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.NameIDMappingServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.NameIDMappingServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.SPSSODescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.SPSSODescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.ExtensionsType.class), "com.sun.identity.saml2.jaxb.metadata.impl.ExtensionsTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.OrganizationNameElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.OrganizationNameElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.ManageNameIDServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.ManageNameIDServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.ServiceDescriptionElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.ServiceDescriptionElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.ServiceNameElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.ServiceNameElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.ContactPersonElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.ContactPersonElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.SPSSODescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.SPSSODescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.CompanyElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.CompanyElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.QueryDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.QueryDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.ContactType.class), "com.sun.identity.saml2.jaxb.metadata.impl.ContactTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.IDPSSODescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.IDPSSODescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.RequestedAttributeElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.RequestedAttributeElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.SingleLogoutServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.SingleLogoutServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AttributeConsumingServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AttributeConsumingServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.SingleSignOnServiceElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.SingleSignOnServiceElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.LocalizedNameType.class), "com.sun.identity.saml2.jaxb.metadata.impl.LocalizedNameTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.KeyDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.KeyDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AttributeProfileElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AttributeProfileElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.PDPDescriptorElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.PDPDescriptorElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.EntityDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.EntityDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AffiliationDescriptorType.class), "com.sun.identity.saml2.jaxb.metadata.impl.AffiliationDescriptorTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AffiliateMemberElement.class), "com.sun.identity.saml2.jaxb.metadata.impl.AffiliateMemberElementImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.IndexedEndpointType.class), "com.sun.identity.saml2.jaxb.metadata.impl.IndexedEndpointTypeImpl");
        defaultImplementations.put((com.sun.identity.saml2.jaxb.metadata.AttributeServiceType.class), "com.sun.identity.saml2.jaxb.metadata.impl.AttributeServiceTypeImpl");
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "OrganizationDisplayName"), (com.sun.identity.saml2.jaxb.metadata.OrganizationDisplayNameElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "ServiceDescription"), (com.sun.identity.saml2.jaxb.metadata.ServiceDescriptionElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "Extensions"), (com.sun.identity.saml2.jaxb.metadata.ExtensionsElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "SPSSODescriptor"), (com.sun.identity.saml2.jaxb.metadata.SPSSODescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "OrganizationURL"), (com.sun.identity.saml2.jaxb.metadata.OrganizationURLElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "ContactPerson"), (com.sun.identity.saml2.jaxb.metadata.ContactPersonElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "PDPDescriptor"), (com.sun.identity.saml2.jaxb.metadata.PDPDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "OrganizationName"), (com.sun.identity.saml2.jaxb.metadata.OrganizationNameElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "XACMLAuthzService"), (com.sun.identity.saml2.jaxb.metadata.XACMLAuthzServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "NameIDFormat"), (com.sun.identity.saml2.jaxb.metadata.NameIDFormatElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "EntityDescriptor"), (com.sun.identity.saml2.jaxb.metadata.EntityDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "IDPSSODescriptor"), (com.sun.identity.saml2.jaxb.metadata.IDPSSODescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "XACMLAuthzDecisionQueryDescriptor"), (com.sun.identity.saml2.jaxb.metadata.XACMLAuthzDecisionQueryDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "SingleLogoutService"), (com.sun.identity.saml2.jaxb.metadata.SingleLogoutServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "QueryDescriptor"), (com.sun.identity.saml2.jaxb.metadata.QueryDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "EntitiesDescriptor"), (com.sun.identity.saml2.jaxb.metadata.EntitiesDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "NameIDMappingService"), (com.sun.identity.saml2.jaxb.metadata.NameIDMappingServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "ArtifactResolutionService"), (com.sun.identity.saml2.jaxb.metadata.ArtifactResolutionServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AttributeService"), (com.sun.identity.saml2.jaxb.metadata.AttributeServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AssertionConsumerService"), (com.sun.identity.saml2.jaxb.metadata.AssertionConsumerServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "RequestedAttribute"), (com.sun.identity.saml2.jaxb.metadata.RequestedAttributeElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "Organization"), (com.sun.identity.saml2.jaxb.metadata.OrganizationElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AuthzService"), (com.sun.identity.saml2.jaxb.metadata.AuthzServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AuthnQueryService"), (com.sun.identity.saml2.jaxb.metadata.AuthnQueryServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "EncryptionMethod"), (com.sun.identity.saml2.jaxb.metadata.EncryptionMethodElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "KeyDescriptor"), (com.sun.identity.saml2.jaxb.metadata.KeyDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "ManageNameIDService"), (com.sun.identity.saml2.jaxb.metadata.ManageNameIDServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "XACMLPDPDescriptor"), (com.sun.identity.saml2.jaxb.metadata.XACMLPDPDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AffiliateMember"), (com.sun.identity.saml2.jaxb.metadata.AffiliateMemberElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "GivenName"), (com.sun.identity.saml2.jaxb.metadata.GivenNameElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "SurName"), (com.sun.identity.saml2.jaxb.metadata.SurNameElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "ServiceName"), (com.sun.identity.saml2.jaxb.metadata.ServiceNameElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "SingleSignOnService"), (com.sun.identity.saml2.jaxb.metadata.SingleSignOnServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AttributeProfile"), (com.sun.identity.saml2.jaxb.metadata.AttributeProfileElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "RoleDescriptor"), (com.sun.identity.saml2.jaxb.metadata.RoleDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AuthnAuthorityDescriptor"), (com.sun.identity.saml2.jaxb.metadata.AuthnAuthorityDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AttributeAuthorityDescriptor"), (com.sun.identity.saml2.jaxb.metadata.AttributeAuthorityDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AssertionIDRequestService"), (com.sun.identity.saml2.jaxb.metadata.AssertionIDRequestServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "EmailAddress"), (com.sun.identity.saml2.jaxb.metadata.EmailAddressElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "TelephoneNumber"), (com.sun.identity.saml2.jaxb.metadata.TelephoneNumberElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AffiliationDescriptor"), (com.sun.identity.saml2.jaxb.metadata.AffiliationDescriptorElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AttributeConsumingService"), (com.sun.identity.saml2.jaxb.metadata.AttributeConsumingServiceElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "Company"), (com.sun.identity.saml2.jaxb.metadata.CompanyElement.class));
        rootTagMap.put(new javax.xml.namespace.QName("urn:oasis:names:tc:SAML:2.0:metadata", "AdditionalMetadataLocation"), (com.sun.identity.saml2.jaxb.metadata.AdditionalMetadataLocationElement.class));
    }

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.sun.identity.saml2.jaxb.metadata
     * 
     */
    public ObjectFactory() {
        super(grammarInfo);
    }

    /**
     * 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 EmailAddressElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.EmailAddressElement createEmailAddressElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.EmailAddressElementImpl();
    }

    /**
     * Create an instance of EmailAddressElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.EmailAddressElement createEmailAddressElement(java.lang.String value)
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.EmailAddressElementImpl(value);
    }

    /**
     * Create an instance of KeyDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.KeyDescriptorType createKeyDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.KeyDescriptorTypeImpl();
    }

    /**
     * Create an instance of OrganizationElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.OrganizationElement createOrganizationElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.OrganizationElementImpl();
    }

    /**
     * Create an instance of RoleDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.RoleDescriptorElement createRoleDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.RoleDescriptorElementImpl();
    }

    /**
     * Create an instance of EntitiesDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.EntitiesDescriptorType createEntitiesDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.EntitiesDescriptorTypeImpl();
    }

    /**
     * Create an instance of AssertionIDRequestServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AssertionIDRequestServiceElement createAssertionIDRequestServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AssertionIDRequestServiceElementImpl();
    }

    /**
     * Create an instance of AdditionalMetadataLocationType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AdditionalMetadataLocationType createAdditionalMetadataLocationType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AdditionalMetadataLocationTypeImpl();
    }

    /**
     * Create an instance of SSODescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.SSODescriptorType createSSODescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.SSODescriptorTypeImpl();
    }

    /**
     * Create an instance of ArtifactResolutionServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.ArtifactResolutionServiceElement createArtifactResolutionServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.ArtifactResolutionServiceElementImpl();
    }

    /**
     * Create an instance of EntitiesDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.EntitiesDescriptorElement createEntitiesDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.EntitiesDescriptorElementImpl();
    }

    /**
     * Create an instance of XACMLPDPDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.XACMLPDPDescriptorType createXACMLPDPDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.XACMLPDPDescriptorTypeImpl();
    }

    /**
     * Create an instance of XACMLAuthzDecisionQueryDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.XACMLAuthzDecisionQueryDescriptorElement createXACMLAuthzDecisionQueryDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.XACMLAuthzDecisionQueryDescriptorElementImpl();
    }

    /**
     * Create an instance of ExtensionsElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.ExtensionsElement createExtensionsElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.ExtensionsElementImpl();
    }

    /**
     * Create an instance of AttributeAuthorityDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AttributeAuthorityDescriptorElement createAttributeAuthorityDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AttributeAuthorityDescriptorElementImpl();
    }

    /**
     * Create an instance of AuthzServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AuthzServiceElement createAuthzServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AuthzServiceElementImpl();
    }

    /**
     * Create an instance of GivenNameElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.GivenNameElement createGivenNameElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.GivenNameElementImpl();
    }

    /**
     * Create an instance of GivenNameElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.GivenNameElement createGivenNameElement(java.lang.String value)
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.GivenNameElementImpl(value);
    }

    /**
     * Create an instance of RoleDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.RoleDescriptorType createRoleDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.RoleDescriptorTypeImpl();
    }

    /**
     * Create an instance of AuthnAuthorityDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AuthnAuthorityDescriptorElement createAuthnAuthorityDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AuthnAuthorityDescriptorElementImpl();
    }

    /**
     * Create an instance of LocalizedURIType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.LocalizedURIType createLocalizedURIType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.LocalizedURITypeImpl();
    }

    /**
     * Create an instance of OrganizationDisplayNameElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.OrganizationDisplayNameElement createOrganizationDisplayNameElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.OrganizationDisplayNameElementImpl();
    }

    /**
     * Create an instance of TelephoneNumberElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.TelephoneNumberElement createTelephoneNumberElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.TelephoneNumberElementImpl();
    }

    /**
     * Create an instance of TelephoneNumberElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.TelephoneNumberElement createTelephoneNumberElement(java.lang.String value)
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.TelephoneNumberElementImpl(value);
    }

    /**
     * Create an instance of PDPDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.PDPDescriptorType createPDPDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.PDPDescriptorTypeImpl();
    }

    /**
     * Create an instance of OrganizationType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.OrganizationType createOrganizationType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.OrganizationTypeImpl();
    }

    /**
     * Create an instance of AttributeServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AttributeServiceElement createAttributeServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AttributeServiceElementImpl();
    }

    /**
     * Create an instance of XACMLPDPDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.XACMLPDPDescriptorElement createXACMLPDPDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.XACMLPDPDescriptorElementImpl();
    }

    /**
     * Create an instance of AffiliationDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AffiliationDescriptorElement createAffiliationDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AffiliationDescriptorElementImpl();
    }

    /**
     * Create an instance of EntityDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.EntityDescriptorElement createEntityDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.EntityDescriptorElementImpl();
    }

    /**
     * Create an instance of EncryptionMethodElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.EncryptionMethodElement createEncryptionMethodElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.EncryptionMethodElementImpl();
    }

    /**
     * Create an instance of XACMLAuthzDecisionQueryDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.XACMLAuthzDecisionQueryDescriptorType createXACMLAuthzDecisionQueryDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.XACMLAuthzDecisionQueryDescriptorTypeImpl();
    }

    /**
     * Create an instance of AssertionConsumerServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AssertionConsumerServiceElement createAssertionConsumerServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AssertionConsumerServiceElementImpl();
    }

    /**
     * Create an instance of IDPSSODescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.IDPSSODescriptorElement createIDPSSODescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.IDPSSODescriptorElementImpl();
    }

    /**
     * Create an instance of QueryDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.QueryDescriptorElement createQueryDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.QueryDescriptorElementImpl();
    }

    /**
     * Create an instance of AuthnQueryServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AuthnQueryServiceElement createAuthnQueryServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AuthnQueryServiceElementImpl();
    }

    /**
     * Create an instance of RequestedAttributeType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.RequestedAttributeType createRequestedAttributeType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.RequestedAttributeTypeImpl();
    }

    /**
     * Create an instance of AttributeAuthorityDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AttributeAuthorityDescriptorType createAttributeAuthorityDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AttributeAuthorityDescriptorTypeImpl();
    }

    /**
     * Create an instance of XACMLAuthzServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.XACMLAuthzServiceElement createXACMLAuthzServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.XACMLAuthzServiceElementImpl();
    }

    /**
     * Create an instance of AuthnAuthorityDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AuthnAuthorityDescriptorType createAuthnAuthorityDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AuthnAuthorityDescriptorTypeImpl();
    }

    /**
     * Create an instance of OrganizationURLElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.OrganizationURLElement createOrganizationURLElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.OrganizationURLElementImpl();
    }

    /**
     * Create an instance of AttributeConsumingServiceType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AttributeConsumingServiceType createAttributeConsumingServiceType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AttributeConsumingServiceTypeImpl();
    }

    /**
     * Create an instance of SurNameElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.SurNameElement createSurNameElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.SurNameElementImpl();
    }

    /**
     * Create an instance of SurNameElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.SurNameElement createSurNameElement(java.lang.String value)
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.SurNameElementImpl(value);
    }

    /**
     * Create an instance of AdditionalMetadataLocationElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AdditionalMetadataLocationElement createAdditionalMetadataLocationElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AdditionalMetadataLocationElementImpl();
    }

    /**
     * Create an instance of NameIDFormatElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.NameIDFormatElement createNameIDFormatElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.NameIDFormatElementImpl();
    }

    /**
     * Create an instance of NameIDFormatElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.NameIDFormatElement createNameIDFormatElement(java.lang.String value)
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.NameIDFormatElementImpl(value);
    }

    /**
     * Create an instance of EndpointType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.EndpointType createEndpointType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.EndpointTypeImpl();
    }

    /**
     * Create an instance of NameIDMappingServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.NameIDMappingServiceElement createNameIDMappingServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.NameIDMappingServiceElementImpl();
    }

    /**
     * Create an instance of SPSSODescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.SPSSODescriptorElement createSPSSODescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.SPSSODescriptorElementImpl();
    }

    /**
     * Create an instance of ExtensionsType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.ExtensionsType createExtensionsType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.ExtensionsTypeImpl();
    }

    /**
     * Create an instance of OrganizationNameElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.OrganizationNameElement createOrganizationNameElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.OrganizationNameElementImpl();
    }

    /**
     * Create an instance of ManageNameIDServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.ManageNameIDServiceElement createManageNameIDServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.ManageNameIDServiceElementImpl();
    }

    /**
     * Create an instance of ServiceDescriptionElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.ServiceDescriptionElement createServiceDescriptionElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.ServiceDescriptionElementImpl();
    }

    /**
     * Create an instance of ServiceNameElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.ServiceNameElement createServiceNameElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.ServiceNameElementImpl();
    }

    /**
     * Create an instance of ContactPersonElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.ContactPersonElement createContactPersonElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.ContactPersonElementImpl();
    }

    /**
     * Create an instance of SPSSODescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.SPSSODescriptorType createSPSSODescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.SPSSODescriptorTypeImpl();
    }

    /**
     * Create an instance of CompanyElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.CompanyElement createCompanyElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.CompanyElementImpl();
    }

    /**
     * Create an instance of CompanyElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.CompanyElement createCompanyElement(java.lang.String value)
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.CompanyElementImpl(value);
    }

    /**
     * Create an instance of QueryDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.QueryDescriptorType createQueryDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.QueryDescriptorTypeImpl();
    }

    /**
     * Create an instance of ContactType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.ContactType createContactType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.ContactTypeImpl();
    }

    /**
     * Create an instance of IDPSSODescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.IDPSSODescriptorType createIDPSSODescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.IDPSSODescriptorTypeImpl();
    }

    /**
     * Create an instance of RequestedAttributeElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.RequestedAttributeElement createRequestedAttributeElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.RequestedAttributeElementImpl();
    }

    /**
     * Create an instance of SingleLogoutServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.SingleLogoutServiceElement createSingleLogoutServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.SingleLogoutServiceElementImpl();
    }

    /**
     * Create an instance of AttributeConsumingServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AttributeConsumingServiceElement createAttributeConsumingServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AttributeConsumingServiceElementImpl();
    }

    /**
     * Create an instance of SingleSignOnServiceElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.SingleSignOnServiceElement createSingleSignOnServiceElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.SingleSignOnServiceElementImpl();
    }

    /**
     * Create an instance of LocalizedNameType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.LocalizedNameType createLocalizedNameType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.LocalizedNameTypeImpl();
    }

    /**
     * Create an instance of KeyDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.KeyDescriptorElement createKeyDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.KeyDescriptorElementImpl();
    }

    /**
     * Create an instance of AttributeProfileElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AttributeProfileElement createAttributeProfileElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AttributeProfileElementImpl();
    }

    /**
     * Create an instance of AttributeProfileElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AttributeProfileElement createAttributeProfileElement(java.lang.String value)
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AttributeProfileElementImpl(value);
    }

    /**
     * Create an instance of PDPDescriptorElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.PDPDescriptorElement createPDPDescriptorElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.PDPDescriptorElementImpl();
    }

    /**
     * Create an instance of EntityDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.EntityDescriptorType createEntityDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.EntityDescriptorTypeImpl();
    }

    /**
     * Create an instance of AffiliationDescriptorType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AffiliationDescriptorType createAffiliationDescriptorType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AffiliationDescriptorTypeImpl();
    }

    /**
     * Create an instance of AffiliateMemberElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AffiliateMemberElement createAffiliateMemberElement()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AffiliateMemberElementImpl();
    }

    /**
     * Create an instance of AffiliateMemberElement
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AffiliateMemberElement createAffiliateMemberElement(java.lang.String value)
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AffiliateMemberElementImpl(value);
    }

    /**
     * Create an instance of IndexedEndpointType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.IndexedEndpointType createIndexedEndpointType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.IndexedEndpointTypeImpl();
    }

    /**
     * Create an instance of AttributeServiceType
     * 
     * @throws JAXBException
     *     if an error occurs
     */
    public com.sun.identity.saml2.jaxb.metadata.AttributeServiceType createAttributeServiceType()
        throws javax.xml.bind.JAXBException
    {
        return new com.sun.identity.saml2.jaxb.metadata.impl.AttributeServiceTypeImpl();
    }

}
