//
// 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:33:54 AM PDT 
//


package com.sun.identity.liberty.ws.meta.jaxb.impl;

public class ProviderDescriptorTypeImpl implements com.sun.identity.liberty.ws.meta.jaxb.ProviderDescriptorType, com.sun.xml.bind.JAXBObject, com.sun.identity.federation.jaxb.entityconfig.impl.runtime.UnmarshallableObject, com.sun.identity.federation.jaxb.entityconfig.impl.runtime.XMLSerializable, com.sun.xml.bind.marshaller.IdentifiableObject, com.sun.identity.federation.jaxb.entityconfig.impl.runtime.ValidatableObject
{

    protected com.sun.xml.bind.util.ListImpl _RegisterNameIdentifierProtocolProfile;
    protected com.sun.xml.bind.util.ListImpl _NameIdentifierMappingProtocolProfile;
    protected java.lang.String _RegisterNameIdentifierServiceReturnURL;
    protected com.sun.xml.bind.util.ListImpl _ProtocolSupportEnumeration;
    protected com.sun.xml.bind.util.ListImpl _ContactPerson;
    protected com.sun.xml.bind.util.ListImpl _AdditionalMetaLocation;
    protected com.sun.identity.liberty.ws.meta.jaxb.OrganizationType _Organization;
    protected com.sun.xml.bind.util.ListImpl _NameIdentifierMappingEncryptionProfile;
    protected java.lang.String _SingleLogoutServiceURL;
    protected com.sun.identity.liberty.ws.common.jaxb.xmlsig.SignatureType _Signature;
    protected java.lang.String _SingleLogoutServiceReturnURL;
    protected com.sun.xml.bind.util.ListImpl _FederationTerminationNotificationProtocolProfile;
    protected com.sun.identity.liberty.ws.meta.jaxb.ExtensionType _Extension;
    protected com.sun.xml.bind.util.ListImpl _KeyDescriptor;
    protected java.lang.String _RegisterNameIdentifierServiceURL;
    protected java.lang.String _FederationTerminationServiceURL;
    protected java.util.Calendar _ValidUntil;
    protected java.lang.String _FederationTerminationServiceReturnURL;
    protected java.lang.String _CacheDuration;
    protected java.lang.String _Id;
    protected java.lang.String _SoapEndpoint;
    protected com.sun.xml.bind.util.ListImpl _SingleLogoutProtocolProfile;
    public final static java.lang.Class version = (com.sun.identity.liberty.ws.meta.jaxb.impl.JAXBVersion.class);
    private static com.sun.msv.grammar.Grammar schemaFragment;

    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
        return (com.sun.identity.liberty.ws.meta.jaxb.ProviderDescriptorType.class);
    }

    protected com.sun.xml.bind.util.ListImpl _getRegisterNameIdentifierProtocolProfile() {
        if (_RegisterNameIdentifierProtocolProfile == null) {
            _RegisterNameIdentifierProtocolProfile = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
        }
        return _RegisterNameIdentifierProtocolProfile;
    }

    public java.util.List getRegisterNameIdentifierProtocolProfile() {
        return _getRegisterNameIdentifierProtocolProfile();
    }

    protected com.sun.xml.bind.util.ListImpl _getNameIdentifierMappingProtocolProfile() {
        if (_NameIdentifierMappingProtocolProfile == null) {
            _NameIdentifierMappingProtocolProfile = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
        }
        return _NameIdentifierMappingProtocolProfile;
    }

    public java.util.List getNameIdentifierMappingProtocolProfile() {
        return _getNameIdentifierMappingProtocolProfile();
    }

    public java.lang.String getRegisterNameIdentifierServiceReturnURL() {
        return _RegisterNameIdentifierServiceReturnURL;
    }

    public void setRegisterNameIdentifierServiceReturnURL(java.lang.String value) {
        _RegisterNameIdentifierServiceReturnURL = value;
    }

    protected com.sun.xml.bind.util.ListImpl _getProtocolSupportEnumeration() {
        if (_ProtocolSupportEnumeration == null) {
            _ProtocolSupportEnumeration = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
        }
        return _ProtocolSupportEnumeration;
    }

    public java.util.List getProtocolSupportEnumeration() {
        return _getProtocolSupportEnumeration();
    }

    protected com.sun.xml.bind.util.ListImpl _getContactPerson() {
        if (_ContactPerson == null) {
            _ContactPerson = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
        }
        return _ContactPerson;
    }

    public java.util.List getContactPerson() {
        return _getContactPerson();
    }

    protected com.sun.xml.bind.util.ListImpl _getAdditionalMetaLocation() {
        if (_AdditionalMetaLocation == null) {
            _AdditionalMetaLocation = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
        }
        return _AdditionalMetaLocation;
    }

    public java.util.List getAdditionalMetaLocation() {
        return _getAdditionalMetaLocation();
    }

    public com.sun.identity.liberty.ws.meta.jaxb.OrganizationType getOrganization() {
        return _Organization;
    }

    public void setOrganization(com.sun.identity.liberty.ws.meta.jaxb.OrganizationType value) {
        _Organization = value;
    }

    protected com.sun.xml.bind.util.ListImpl _getNameIdentifierMappingEncryptionProfile() {
        if (_NameIdentifierMappingEncryptionProfile == null) {
            _NameIdentifierMappingEncryptionProfile = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
        }
        return _NameIdentifierMappingEncryptionProfile;
    }

    public java.util.List getNameIdentifierMappingEncryptionProfile() {
        return _getNameIdentifierMappingEncryptionProfile();
    }

    public java.lang.String getSingleLogoutServiceURL() {
        return _SingleLogoutServiceURL;
    }

    public void setSingleLogoutServiceURL(java.lang.String value) {
        _SingleLogoutServiceURL = value;
    }

    public com.sun.identity.liberty.ws.common.jaxb.xmlsig.SignatureType getSignature() {
        return _Signature;
    }

    public void setSignature(com.sun.identity.liberty.ws.common.jaxb.xmlsig.SignatureType value) {
        _Signature = value;
    }

    public java.lang.String getSingleLogoutServiceReturnURL() {
        return _SingleLogoutServiceReturnURL;
    }

    public void setSingleLogoutServiceReturnURL(java.lang.String value) {
        _SingleLogoutServiceReturnURL = value;
    }

    protected com.sun.xml.bind.util.ListImpl _getFederationTerminationNotificationProtocolProfile() {
        if (_FederationTerminationNotificationProtocolProfile == null) {
            _FederationTerminationNotificationProtocolProfile = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
        }
        return _FederationTerminationNotificationProtocolProfile;
    }

    public java.util.List getFederationTerminationNotificationProtocolProfile() {
        return _getFederationTerminationNotificationProtocolProfile();
    }

    public com.sun.identity.liberty.ws.meta.jaxb.ExtensionType getExtension() {
        return _Extension;
    }

    public void setExtension(com.sun.identity.liberty.ws.meta.jaxb.ExtensionType value) {
        _Extension = value;
    }

    protected com.sun.xml.bind.util.ListImpl _getKeyDescriptor() {
        if (_KeyDescriptor == null) {
            _KeyDescriptor = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
        }
        return _KeyDescriptor;
    }

    public java.util.List getKeyDescriptor() {
        return _getKeyDescriptor();
    }

    public java.lang.String getRegisterNameIdentifierServiceURL() {
        return _RegisterNameIdentifierServiceURL;
    }

    public void setRegisterNameIdentifierServiceURL(java.lang.String value) {
        _RegisterNameIdentifierServiceURL = value;
    }

    public java.lang.String getFederationTerminationServiceURL() {
        return _FederationTerminationServiceURL;
    }

    public void setFederationTerminationServiceURL(java.lang.String value) {
        _FederationTerminationServiceURL = value;
    }

    public java.util.Calendar getValidUntil() {
        return _ValidUntil;
    }

    public void setValidUntil(java.util.Calendar value) {
        _ValidUntil = value;
    }

    public java.lang.String getFederationTerminationServiceReturnURL() {
        return _FederationTerminationServiceReturnURL;
    }

    public void setFederationTerminationServiceReturnURL(java.lang.String value) {
        _FederationTerminationServiceReturnURL = value;
    }

    public java.lang.String getCacheDuration() {
        return _CacheDuration;
    }

    public void setCacheDuration(java.lang.String value) {
        _CacheDuration = value;
    }

    public java.lang.String getId() {
        return _Id;
    }

    public void setId(java.lang.String value) {
        _Id = value;
    }

    public java.lang.String getSoapEndpoint() {
        return _SoapEndpoint;
    }

    public void setSoapEndpoint(java.lang.String value) {
        _SoapEndpoint = value;
    }

    protected com.sun.xml.bind.util.ListImpl _getSingleLogoutProtocolProfile() {
        if (_SingleLogoutProtocolProfile == null) {
            _SingleLogoutProtocolProfile = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
        }
        return _SingleLogoutProtocolProfile;
    }

    public java.util.List getSingleLogoutProtocolProfile() {
        return _getSingleLogoutProtocolProfile();
    }

    public com.sun.identity.federation.jaxb.entityconfig.impl.runtime.UnmarshallingEventHandler createUnmarshaller(com.sun.identity.federation.jaxb.entityconfig.impl.runtime.UnmarshallingContext context) {
        return new com.sun.identity.liberty.ws.meta.jaxb.impl.ProviderDescriptorTypeImpl.Unmarshaller(context);
    }

    public void serializeBody(com.sun.identity.federation.jaxb.entityconfig.impl.runtime.XMLSerializer context)
        throws org.xml.sax.SAXException
    {
        int idx1 = 0;
        final int len1 = ((_RegisterNameIdentifierProtocolProfile == null)? 0 :_RegisterNameIdentifierProtocolProfile.size());
        int idx2 = 0;
        final int len2 = ((_NameIdentifierMappingProtocolProfile == null)? 0 :_NameIdentifierMappingProtocolProfile.size());
        int idx4 = 0;
        final int len4 = ((_ProtocolSupportEnumeration == null)? 0 :_ProtocolSupportEnumeration.size());
        int idx5 = 0;
        final int len5 = ((_ContactPerson == null)? 0 :_ContactPerson.size());
        int idx6 = 0;
        final int len6 = ((_AdditionalMetaLocation == null)? 0 :_AdditionalMetaLocation.size());
        int idx8 = 0;
        final int len8 = ((_NameIdentifierMappingEncryptionProfile == null)? 0 :_NameIdentifierMappingEncryptionProfile.size());
        int idx12 = 0;
        final int len12 = ((_FederationTerminationNotificationProtocolProfile == null)? 0 :_FederationTerminationNotificationProtocolProfile.size());
        int idx14 = 0;
        final int len14 = ((_KeyDescriptor == null)? 0 :_KeyDescriptor.size());
        int idx22 = 0;
        final int len22 = ((_SingleLogoutProtocolProfile == null)? 0 :_SingleLogoutProtocolProfile.size());
        while (idx14 != len14) {
            if (_KeyDescriptor.get(idx14) instanceof javax.xml.bind.Element) {
                context.childAsBody(((com.sun.xml.bind.JAXBObject) _KeyDescriptor.get(idx14 ++)), "KeyDescriptor");
            } else {
                context.startElement("urn:liberty:metadata:2003-08", "KeyDescriptor");
                int idx_0 = idx14;
                context.childAsURIs(((com.sun.xml.bind.JAXBObject) _KeyDescriptor.get(idx_0 ++)), "KeyDescriptor");
                context.endNamespaceDecls();
                int idx_1 = idx14;
                context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _KeyDescriptor.get(idx_1 ++)), "KeyDescriptor");
                context.endAttributes();
                context.childAsBody(((com.sun.xml.bind.JAXBObject) _KeyDescriptor.get(idx14 ++)), "KeyDescriptor");
                context.endElement();
            }
        }
        if (_SoapEndpoint!= null) {
            context.startElement("urn:liberty:metadata:2003-08", "SoapEndpoint");
            context.endNamespaceDecls();
            context.endAttributes();
            try {
                context.text(((java.lang.String) _SoapEndpoint), "SoapEndpoint");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        if (_SingleLogoutServiceURL!= null) {
            context.startElement("urn:liberty:metadata:2003-08", "SingleLogoutServiceURL");
            context.endNamespaceDecls();
            context.endAttributes();
            try {
                context.text(((java.lang.String) _SingleLogoutServiceURL), "SingleLogoutServiceURL");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        if (_SingleLogoutServiceReturnURL!= null) {
            context.startElement("urn:liberty:metadata:2003-08", "SingleLogoutServiceReturnURL");
            context.endNamespaceDecls();
            context.endAttributes();
            try {
                context.text(((java.lang.String) _SingleLogoutServiceReturnURL), "SingleLogoutServiceReturnURL");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        if (_FederationTerminationServiceURL!= null) {
            context.startElement("urn:liberty:metadata:2003-08", "FederationTerminationServiceURL");
            context.endNamespaceDecls();
            context.endAttributes();
            try {
                context.text(((java.lang.String) _FederationTerminationServiceURL), "FederationTerminationServiceURL");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        if (_FederationTerminationServiceReturnURL!= null) {
            context.startElement("urn:liberty:metadata:2003-08", "FederationTerminationServiceReturnURL");
            context.endNamespaceDecls();
            context.endAttributes();
            try {
                context.text(((java.lang.String) _FederationTerminationServiceReturnURL), "FederationTerminationServiceReturnURL");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        while (idx12 != len12) {
            context.startElement("urn:liberty:metadata:2003-08", "FederationTerminationNotificationProtocolProfile");
            int idx_12 = idx12;
            try {
                idx_12 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endNamespaceDecls();
            int idx_13 = idx12;
            try {
                idx_13 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endAttributes();
            try {
                context.text(((java.lang.String) _FederationTerminationNotificationProtocolProfile.get(idx12 ++)), "FederationTerminationNotificationProtocolProfile");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        while (idx22 != len22) {
            context.startElement("urn:liberty:metadata:2003-08", "SingleLogoutProtocolProfile");
            int idx_14 = idx22;
            try {
                idx_14 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endNamespaceDecls();
            int idx_15 = idx22;
            try {
                idx_15 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endAttributes();
            try {
                context.text(((java.lang.String) _SingleLogoutProtocolProfile.get(idx22 ++)), "SingleLogoutProtocolProfile");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        while (idx1 != len1) {
            context.startElement("urn:liberty:metadata:2003-08", "RegisterNameIdentifierProtocolProfile");
            int idx_16 = idx1;
            try {
                idx_16 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endNamespaceDecls();
            int idx_17 = idx1;
            try {
                idx_17 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endAttributes();
            try {
                context.text(((java.lang.String) _RegisterNameIdentifierProtocolProfile.get(idx1 ++)), "RegisterNameIdentifierProtocolProfile");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        if (_RegisterNameIdentifierServiceURL!= null) {
            context.startElement("urn:liberty:metadata:2003-08", "RegisterNameIdentifierServiceURL");
            context.endNamespaceDecls();
            context.endAttributes();
            try {
                context.text(((java.lang.String) _RegisterNameIdentifierServiceURL), "RegisterNameIdentifierServiceURL");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        if (_RegisterNameIdentifierServiceReturnURL!= null) {
            context.startElement("urn:liberty:metadata:2003-08", "RegisterNameIdentifierServiceReturnURL");
            context.endNamespaceDecls();
            context.endAttributes();
            try {
                context.text(((java.lang.String) _RegisterNameIdentifierServiceReturnURL), "RegisterNameIdentifierServiceReturnURL");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        while (idx2 != len2) {
            context.startElement("urn:liberty:metadata:2003-08", "NameIdentifierMappingProtocolProfile");
            int idx_22 = idx2;
            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _NameIdentifierMappingProtocolProfile.get(idx_22 ++)), "NameIdentifierMappingProtocolProfile");
            context.endNamespaceDecls();
            int idx_23 = idx2;
            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _NameIdentifierMappingProtocolProfile.get(idx_23 ++)), "NameIdentifierMappingProtocolProfile");
            context.endAttributes();
            context.childAsBody(((com.sun.xml.bind.JAXBObject) _NameIdentifierMappingProtocolProfile.get(idx2 ++)), "NameIdentifierMappingProtocolProfile");
            context.endElement();
        }
        while (idx8 != len8) {
            context.startElement("urn:liberty:metadata:2003-08", "NameIdentifierMappingEncryptionProfile");
            int idx_24 = idx8;
            try {
                idx_24 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endNamespaceDecls();
            int idx_25 = idx8;
            try {
                idx_25 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endAttributes();
            try {
                context.text(((java.lang.String) _NameIdentifierMappingEncryptionProfile.get(idx8 ++)), "NameIdentifierMappingEncryptionProfile");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endElement();
        }
        if (_Organization!= null) {
            context.startElement("urn:liberty:metadata:2003-08", "Organization");
            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Organization), "Organization");
            context.endNamespaceDecls();
            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Organization), "Organization");
            context.endAttributes();
            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Organization), "Organization");
            context.endElement();
        }
        while (idx5 != len5) {
            context.startElement("urn:liberty:metadata:2003-08", "ContactPerson");
            int idx_28 = idx5;
            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _ContactPerson.get(idx_28 ++)), "ContactPerson");
            context.endNamespaceDecls();
            int idx_29 = idx5;
            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _ContactPerson.get(idx_29 ++)), "ContactPerson");
            context.endAttributes();
            context.childAsBody(((com.sun.xml.bind.JAXBObject) _ContactPerson.get(idx5 ++)), "ContactPerson");
            context.endElement();
        }
        while (idx6 != len6) {
            context.startElement("urn:liberty:metadata:2003-08", "AdditionalMetaLocation");
            int idx_30 = idx6;
            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _AdditionalMetaLocation.get(idx_30 ++)), "AdditionalMetaLocation");
            context.endNamespaceDecls();
            int idx_31 = idx6;
            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _AdditionalMetaLocation.get(idx_31 ++)), "AdditionalMetaLocation");
            context.endAttributes();
            context.childAsBody(((com.sun.xml.bind.JAXBObject) _AdditionalMetaLocation.get(idx6 ++)), "AdditionalMetaLocation");
            context.endElement();
        }
        if (_Extension!= null) {
            if (_Extension instanceof javax.xml.bind.Element) {
                context.childAsBody(((com.sun.xml.bind.JAXBObject) _Extension), "Extension");
            } else {
                context.startElement("urn:liberty:metadata:2003-08", "Extension");
                context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Extension), "Extension");
                context.endNamespaceDecls();
                context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Extension), "Extension");
                context.endAttributes();
                context.childAsBody(((com.sun.xml.bind.JAXBObject) _Extension), "Extension");
                context.endElement();
            }
        }
        if (_Signature!= null) {
            if (_Signature instanceof javax.xml.bind.Element) {
                context.childAsBody(((com.sun.xml.bind.JAXBObject) _Signature), "Signature");
            } else {
                context.startElement("http://www.w3.org/2000/09/xmldsig#", "Signature");
                context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Signature), "Signature");
                context.endNamespaceDecls();
                context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Signature), "Signature");
                context.endAttributes();
                context.childAsBody(((com.sun.xml.bind.JAXBObject) _Signature), "Signature");
                context.endElement();
            }
        }
    }

    public void serializeAttributes(com.sun.identity.federation.jaxb.entityconfig.impl.runtime.XMLSerializer context)
        throws org.xml.sax.SAXException
    {
        int idx1 = 0;
        final int len1 = ((_RegisterNameIdentifierProtocolProfile == null)? 0 :_RegisterNameIdentifierProtocolProfile.size());
        int idx2 = 0;
        final int len2 = ((_NameIdentifierMappingProtocolProfile == null)? 0 :_NameIdentifierMappingProtocolProfile.size());
        int idx4 = 0;
        final int len4 = ((_ProtocolSupportEnumeration == null)? 0 :_ProtocolSupportEnumeration.size());
        int idx5 = 0;
        final int len5 = ((_ContactPerson == null)? 0 :_ContactPerson.size());
        int idx6 = 0;
        final int len6 = ((_AdditionalMetaLocation == null)? 0 :_AdditionalMetaLocation.size());
        int idx8 = 0;
        final int len8 = ((_NameIdentifierMappingEncryptionProfile == null)? 0 :_NameIdentifierMappingEncryptionProfile.size());
        int idx12 = 0;
        final int len12 = ((_FederationTerminationNotificationProtocolProfile == null)? 0 :_FederationTerminationNotificationProtocolProfile.size());
        int idx14 = 0;
        final int len14 = ((_KeyDescriptor == null)? 0 :_KeyDescriptor.size());
        int idx22 = 0;
        final int len22 = ((_SingleLogoutProtocolProfile == null)? 0 :_SingleLogoutProtocolProfile.size());
        if (_CacheDuration!= null) {
            context.startAttribute("", "cacheDuration");
            try {
                context.text(((java.lang.String) _CacheDuration), "CacheDuration");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endAttribute();
        }
        if (_Id!= null) {
            context.startAttribute("", "id");
            try {
                context.text(context.onID(this, ((java.lang.String) _Id)), "Id");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endAttribute();
        }
        context.startAttribute("", "protocolSupportEnumeration");
        while (idx4 != len4) {
            try {
                context.text(((java.lang.String) _ProtocolSupportEnumeration.get(idx4 ++)), "ProtocolSupportEnumeration");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        context.endAttribute();
        if (_ValidUntil!= null) {
            context.startAttribute("", "validUntil");
            try {
                context.text(com.sun.msv.datatype.xsd.DateTimeType.theInstance.serializeJavaObject(((java.util.Calendar) _ValidUntil), null), "ValidUntil");
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
            context.endAttribute();
        }
        while (idx14 != len14) {
            if (_KeyDescriptor.get(idx14) instanceof javax.xml.bind.Element) {
                context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _KeyDescriptor.get(idx14 ++)), "KeyDescriptor");
            } else {
                idx14 += 1;
            }
        }
        while (idx12 != len12) {
            try {
                idx12 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        while (idx22 != len22) {
            try {
                idx22 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        while (idx1 != len1) {
            try {
                idx1 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        while (idx2 != len2) {
            idx2 += 1;
        }
        while (idx8 != len8) {
            try {
                idx8 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        while (idx5 != len5) {
            idx5 += 1;
        }
        while (idx6 != len6) {
            idx6 += 1;
        }
        if (_Extension!= null) {
            if (_Extension instanceof javax.xml.bind.Element) {
                context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Extension), "Extension");
            }
        }
        if (_Signature!= null) {
            if (_Signature instanceof javax.xml.bind.Element) {
                context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Signature), "Signature");
            }
        }
    }

    public void serializeURIs(com.sun.identity.federation.jaxb.entityconfig.impl.runtime.XMLSerializer context)
        throws org.xml.sax.SAXException
    {
        int idx1 = 0;
        final int len1 = ((_RegisterNameIdentifierProtocolProfile == null)? 0 :_RegisterNameIdentifierProtocolProfile.size());
        int idx2 = 0;
        final int len2 = ((_NameIdentifierMappingProtocolProfile == null)? 0 :_NameIdentifierMappingProtocolProfile.size());
        int idx4 = 0;
        final int len4 = ((_ProtocolSupportEnumeration == null)? 0 :_ProtocolSupportEnumeration.size());
        int idx5 = 0;
        final int len5 = ((_ContactPerson == null)? 0 :_ContactPerson.size());
        int idx6 = 0;
        final int len6 = ((_AdditionalMetaLocation == null)? 0 :_AdditionalMetaLocation.size());
        int idx8 = 0;
        final int len8 = ((_NameIdentifierMappingEncryptionProfile == null)? 0 :_NameIdentifierMappingEncryptionProfile.size());
        int idx12 = 0;
        final int len12 = ((_FederationTerminationNotificationProtocolProfile == null)? 0 :_FederationTerminationNotificationProtocolProfile.size());
        int idx14 = 0;
        final int len14 = ((_KeyDescriptor == null)? 0 :_KeyDescriptor.size());
        int idx22 = 0;
        final int len22 = ((_SingleLogoutProtocolProfile == null)? 0 :_SingleLogoutProtocolProfile.size());
        while (idx4 != len4) {
            try {
                idx4 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        while (idx14 != len14) {
            if (_KeyDescriptor.get(idx14) instanceof javax.xml.bind.Element) {
                context.childAsURIs(((com.sun.xml.bind.JAXBObject) _KeyDescriptor.get(idx14 ++)), "KeyDescriptor");
            } else {
                idx14 += 1;
            }
        }
        while (idx12 != len12) {
            try {
                idx12 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        while (idx22 != len22) {
            try {
                idx22 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        while (idx1 != len1) {
            try {
                idx1 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        while (idx2 != len2) {
            idx2 += 1;
        }
        while (idx8 != len8) {
            try {
                idx8 += 1;
            } catch (java.lang.Exception e) {
                com.sun.identity.federation.jaxb.entityconfig.impl.runtime.Util.handlePrintConversionException(this, e, context);
            }
        }
        while (idx5 != len5) {
            idx5 += 1;
        }
        while (idx6 != len6) {
            idx6 += 1;
        }
        if (_Extension!= null) {
            if (_Extension instanceof javax.xml.bind.Element) {
                context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Extension), "Extension");
            }
        }
        if (_Signature!= null) {
            if (_Signature instanceof javax.xml.bind.Element) {
                context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Signature), "Signature");
            }
        }
    }

    public java.lang.String ____jaxb____getId() {
        return ((java.lang.String) _Id);
    }

    public java.lang.Class getPrimaryInterface() {
        return (com.sun.identity.liberty.ws.meta.jaxb.ProviderDescriptorType.class);
    }

    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
        if (schemaFragment == null) {
            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
 "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
+"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
+"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
+"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
+"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000pp"
+"sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~"
+"\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000pp"
+"sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 com."
+"sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.gramm"
+"ar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean"
+"\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\u001aq\u0000~\u0000 psr\u0000\'com.sun.msv.grammar.t"
+"rex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/gra"
+"mmar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002"
+"Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000 "
+"p\u0000sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psr\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000"
+"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000#xq\u0000~\u0000\u0003q\u0000~\u0000 psr\u00002com.sun"
+".msv.grammar.Expression$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003"
+"sq\u0000~\u0000\u001f\u0001q\u0000~\u0000+sr\u0000 com.sun.msv.grammar.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000x"
+"r\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv"
+".grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000,q"
+"\u0000~\u00001sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tloc"
+"alNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq\u0000~\u00003xq\u0000~\u0000.t\u0000:com."
+"sun.identity.liberty.ws.meta.jaxb.KeyDescriptorElementt\u0000+htt"
+"p://java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000p"
+"psq\u0000~\u0000\"pp\u0000sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000+q\u0000~\u0000/q\u0000~\u00001sq\u0000"
+"~\u00002t\u00007com.sun.identity.liberty.ws.meta.jaxb.KeyDescriptorTyp"
+"eq\u0000~\u00006sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 psr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000"
+"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000"
+"\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003q\u0000~\u0000 psr\u0000\"com."
+"sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com.sun.msv.dat"
+"atype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.dataty"
+"pe.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.X"
+"SDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u00003L\u0000\btypeNameq\u0000~\u00003"
+"L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProcesso"
+"r;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0005QNamesr\u00005com.sun.m"
+"sv.datatype.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,c"
+"om.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000"
+"com.sun.msv.grammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000x"
+"q\u0000~\u0000\u0003q\u0000~\u0000 psr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tloca"
+"lNameq\u0000~\u00003L\u0000\fnamespaceURIq\u0000~\u00003xpq\u0000~\u0000Lq\u0000~\u0000Ksq\u0000~\u00002t\u0000\u0004typet\u0000)ht"
+"tp://www.w3.org/2001/XMLSchema-instanceq\u0000~\u00001sq\u0000~\u00002t\u0000\rKeyDesc"
+"riptort\u0000\u001curn:liberty:metadata:2003-08q\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\"q\u0000~\u0000"
+" p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000Aq\u0000~\u0000 psr\u0000#com.sun.msv.datatype.xsd.AnyURITy"
+"pe\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Fq\u0000~\u0000Kt\u0000\u0006anyURIq\u0000~\u0000Oq\u0000~\u0000Qsq\u0000~\u0000Rq\u0000~\u0000`q\u0000~\u0000Ks"
+"q\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000\fSoapEndpointq\u0000~\u0000Y"
+"q\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq"
+"\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000\u0016SingleLogoutServiceURLq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000"
+"\u001appsq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq"
+"\u0000~\u00001sq\u0000~\u00002t\u0000\u001cSingleLogoutServiceReturnURLq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001apps"
+"q\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001"
+"sq\u0000~\u00002t\u0000\u001fFederationTerminationServiceURLq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq"
+"\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001s"
+"q\u0000~\u00002t\u0000%FederationTerminationServiceReturnURLq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000"
+"\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 "
+"pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u00000FederationTerminationNotificationPr"
+"otocolProfileq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~"
+"\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000\u001bSingleL"
+"ogoutProtocolProfileq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000\"q\u0000~\u0000"
+" p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000%"
+"RegisterNameIdentifierProtocolProfileq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000"
+"\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~"
+"\u00002t\u0000 RegisterNameIdentifierServiceURLq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000"
+"\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~"
+"\u00002t\u0000&RegisterNameIdentifierServiceReturnURLq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001ap"
+"psq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\"pp\u0000sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~"
+"\u0000 psq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000+q\u0000~\u0000/q\u0000~\u00001sq\u0000~\u00002t\u0000Fcom.sun.identity.libe"
+"rty.ws.common.jaxb.assertion.AuthorityBindingTypeq\u0000~\u00006sq\u0000~\u0000\u001a"
+"ppsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000$NameIdentifierMappingP"
+"rotocolProfileq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000"
+"~\u0000\u0000ppq\u0000~\u0000]sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000&NameId"
+"entifierMappingEncryptionProfileq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\"q\u0000~\u0000"
+" p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\"pp\u0000sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000+q\u0000~"
+"\u0000/q\u0000~\u00001sq\u0000~\u00002t\u00006com.sun.identity.liberty.ws.meta.jaxb.Organi"
+"zationTypeq\u0000~\u00006sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000\fO"
+"rganizationq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000"
+"ppsq\u0000~\u0000\"pp\u0000sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000+q\u0000~\u0000/q\u0000~\u00001sq"
+"\u0000~\u00002t\u00001com.sun.identity.liberty.ws.meta.jaxb.ContactTypeq\u0000~\u0000"
+"6sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000\rContactPersonq\u0000"
+"~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\"pp\u0000sq"
+"\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000+q\u0000~\u0000/q\u0000~\u00001sq\u0000~\u00002t\u0000Dcom.su"
+"n.identity.liberty.ws.meta.jaxb.AdditionalMetadataLocationTy"
+"peq\u0000~\u00006sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000\u0016Additiona"
+"lMetaLocationq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\u001aq\u0000~\u0000 psq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~"
+"\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000+q\u0000~\u0000/q\u0000~\u00001sq\u0000~\u00002t\u00006com.sun."
+"identity.liberty.ws.meta.jaxb.ExtensionElementq\u0000~\u00006sq\u0000~\u0000\"q\u0000~"
+"\u0000 p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\"pp\u0000sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000+q\u0000"
+"~\u0000/q\u0000~\u00001sq\u0000~\u00002t\u00003com.sun.identity.liberty.ws.meta.jaxb.Exten"
+"sionTypeq\u0000~\u00006sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001sq\u0000~\u00002t\u0000\tExt"
+"ensionq\u0000~\u0000Yq\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000\u001aq\u0000~\u0000 psq\u0000~\u0000\"q\u0000~\u0000 p\u0000sq\u0000~\u0000\u001appsq\u0000"
+"~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000+q\u0000~\u0000/q\u0000~\u00001sq\u0000~\u00002t\u0000?com.sun.identit"
+"y.liberty.ws.common.jaxb.xmlsig.SignatureElementq\u0000~\u00006sq\u0000~\u0000\"q"
+"\u0000~\u0000 p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\"pp\u0000sq\u0000~\u0000\u001appsq\u0000~\u0000\u001cq\u0000~\u0000 psq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000+"
+"q\u0000~\u0000/q\u0000~\u00001sq\u0000~\u00002t\u0000<com.sun.identity.liberty.ws.common.jaxb.x"
+"mlsig.SignatureTypeq\u0000~\u00006sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 pq\u0000~\u0000Dq\u0000~\u0000Tq\u0000~\u00001s"
+"q\u0000~\u00002t\u0000\tSignaturet\u0000\"http://www.w3.org/2000/09/xmldsig#q\u0000~\u00001s"
+"q\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 psq\u0000~\u0000Appsr\u0000%com.sun.msv.datatype.xsd.Dura"
+"tionType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Fq\u0000~\u0000Kt\u0000\bdurationq\u0000~\u0000Oq\u0000~\u0000Qsq\u0000~\u0000Rq\u0000~"
+"\u0001\u0015q\u0000~\u0000Ksq\u0000~\u00002t\u0000\rcacheDurationt\u0000\u0000q\u0000~\u00001sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 psq\u0000"
+"~\u0000Appsr\u0000\u001fcom.sun.msv.datatype.xsd.IDType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.s"
+"un.msv.datatype.xsd.NcnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\"com.sun.msv.dat"
+"atype.xsd.TokenType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.msv.datatype.xsd.S"
+"tringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxq\u0000~\u0000Fq\u0000~\u0000Kt\u0000\u0002IDq\u0000~\u0000O\u0000q\u0000"
+"~\u0000Qsq\u0000~\u0000Rq\u0000~\u0001\"q\u0000~\u0000Ksq\u0000~\u00002t\u0000\u0002idq\u0000~\u0001\u0019q\u0000~\u00001sq\u0000~\u0000(ppsq\u0000~\u0000Appsr\u0000*"
+"com.sun.msv.datatype.xsd.DatatypeFactory$1\u00a1\u00f3\u000b\u00e3`rj\u000e\u0002\u0000\u0000xr\u0000\u001ecom"
+".sun.msv.datatype.xsd.Proxy\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bbaseTypet\u0000)Lcom/sun"
+"/msv/datatype/xsd/XSDatatypeImpl;xq\u0000~\u0000Hq\u0000~\u0000Kt\u0000\bNMTOKENSq\u0000~\u0000O"
+"sr\u0000\'com.sun.msv.datatype.xsd.MinLengthFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\tmin"
+"Lengthxr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueConstrai"
+"ntFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataTypeWithF"
+"acet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bbaseTy"
+"peq\u0000~\u0001*L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/ConcreteT"
+"ype;L\u0000\tfacetNameq\u0000~\u00003xq\u0000~\u0000Hppq\u0000~\u0000O\u0000\u0000sr\u0000!com.sun.msv.datatype"
+".xsd.ListType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bitemTypeq\u0000~\u0001*xq\u0000~\u0000Gppq\u0000~\u0000Osr\u0000$com"
+".sun.msv.datatype.xsd.NmtokenType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0001\u001fq\u0000~\u0000Kt\u0000\u0007NM"
+"TOKENq\u0000~\u0000O\u0000q\u0000~\u00013t\u0000\tminLength\u0000\u0000\u0000\u0001q\u0000~\u0000Qpsq\u0000~\u00002t\u0000\u001aprotocolSuppo"
+"rtEnumerationq\u0000~\u0001\u0019sq\u0000~\u0000\u001appsq\u0000~\u0000(q\u0000~\u0000 psq\u0000~\u0000Appsr\u0000%com.sun.ms"
+"v.datatype.xsd.DateTimeType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000)com.sun.msv.dataty"
+"pe.xsd.DateTimeBaseType\u0014W\u001a@3\u00a5\u00b4\u00e5\u0002\u0000\u0000xq\u0000~\u0000Fq\u0000~\u0000Kt\u0000\bdateTimeq\u0000~\u0000"
+"Oq\u0000~\u0000Qsq\u0000~\u0000Rq\u0000~\u0001@q\u0000~\u0000Ksq\u0000~\u00002t\u0000\nvalidUntilq\u0000~\u0001\u0019q\u0000~\u00001sr\u0000\"com.s"
+"un.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/s"
+"un/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.g"
+"rammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstream"
+"VersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000"
+"m\u0001pq\u0000~\u0000\bq\u0000~\u0000\u00beq\u0000~\u0000\u0019q\u0000~\u0000\u0013q\u0000~\u0000\u00a1q\u0000~\u0000\u009aq\u0000~\u0000{q\u0000~\u0000tq\u0000~\u0000\u0016q\u0000~\u0000mq\u0000~\u0000fq\u0000"
+"~\u0000Zq\u0000~\u0000\u0092q\u0000~\u0000\u008aq\u0000~\u0000\u0082q\u0000~\u0000\u00b6q\u0000~\u0000\u000fq\u0000~\u0000\u00e7q\u0000~\u0000\u00fbq\u0000~\u0001\u001aq\u0000~\u0000\u001bq\u0000~\u0000\u00adq\u0000~\u0000:q\u0000"
+"~\u0000&q\u0000~\u0000\u00c2q\u0000~\u0000\u00d0q\u0000~\u0000\u00deq\u0000~\u0000\u00eaq\u0000~\u0000\u00f2q\u0000~\u0000\u00feq\u0000~\u0001\u0006q\u0000~\u0001\u0010q\u0000~\u0000!q\u0000~\u0000\u00e8q\u0000~\u0000\u00fcq\u0000"
+"~\u0000\nq\u0000~\u0001:q\u0000~\u0000\u00b2q\u0000~\u0000\u00a4q\u0000~\u0000\u009dq\u0000~\u0000\u0096q\u0000~\u0000\u008eq\u0000~\u0000\u0086q\u0000~\u0000~q\u0000~\u0000wq\u0000~\u0000pq\u0000~\u0000iq\u0000"
+"~\u0000bq\u0000~\u0000?q\u0000~\u0000\u00baq\u0000~\u0000\u00c7q\u0000~\u0000\rq\u0000~\u0000\u0017q\u0000~\u0000\u00d5q\u0000~\u0000\u00e3q\u0000~\u0000\u00a3q\u0000~\u0000\u009cq\u0000~\u0000\u0095q\u0000~\u0000\u008dq\u0000"
+"~\u0000\u0085q\u0000~\u0000}q\u0000~\u0000vq\u0000~\u0000oq\u0000~\u0000hq\u0000~\u0000\\q\u0000~\u0000\u00b9q\u0000~\u0000\u000eq\u0000~\u0000\u00f7q\u0000~\u0001\u000bq\u0000~\u0000\u0007q\u0000~\u0000\u0006q\u0000"
+"~\u0000\fq\u0000~\u0000\u0018q\u0000~\u0000\u0014q\u0000~\u0000\u0015q\u0000~\u0000\u0005q\u0000~\u0000\u00abq\u0000~\u00008q\u0000~\u0000\u00c0q\u0000~\u0000\u0010q\u0000~\u0000\u00ceq\u0000~\u0000\u00dcq\u0000~\u0000\u00f0q\u0000"
+"~\u0001\u0004q\u0000~\u0000\u0093q\u0000~\u0000\u008bq\u0000~\u0000\u0083q\u0000~\u0000\u00b7q\u0000~\u0000\u001eq\u0000~\u0000\u00a8q\u0000~\u0000\u00cbq\u0000~\u0000\u00d9q\u0000~\u0000\u00a9q\u0000~\u0000\u00ccq\u0000~\u0000\u00daq\u0000"
+"~\u0000\tq\u0000~\u0000\u0011q\u0000~\u0000\u000bq\u0000~\u0000\u00aeq\u0000~\u0000;q\u0000~\u0000\'q\u0000~\u0000\u00c3q\u0000~\u0000\u00d1q\u0000~\u0000\u00dfq\u0000~\u0000\u00ebq\u0000~\u0000\u0012q\u0000~\u0000\u00f3q\u0000"
+"~\u0000\u00ffq\u0000~\u0001\u0007x"));
        }
        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
    }

    public class Unmarshaller
        extends com.sun.identity.federation.jaxb.entityconfig.impl.runtime.AbstractUnmarshallingEventHandlerImpl
    {


        public Unmarshaller(com.sun.identity.federation.jaxb.entityconfig.impl.runtime.UnmarshallingContext context) {
            super(context, "-------L-----------------------------------------------------------");
        }

        protected Unmarshaller(com.sun.identity.federation.jaxb.entityconfig.impl.runtime.UnmarshallingContext context, int startState) {
            this(context);
            state = startState;
        }

        public java.lang.Object owner() {
            return com.sun.identity.liberty.ws.meta.jaxb.impl.ProviderDescriptorTypeImpl.this;
        }

        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
            throws org.xml.sax.SAXException
        {
            int attIdx;
            outer:
            while (true) {
                switch (state) {
                    case  33 :
                        if (("FederationTerminationNotificationProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 31;
                            return ;
                        }
                        if (("SingleLogoutProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 34;
                            return ;
                        }
                        state = 36;
                        continue outer;
                    case  30 :
                        if (("FederationTerminationNotificationProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 31;
                            return ;
                        }
                        state = 33;
                        continue outer;
                    case  39 :
                        if (("RegisterNameIdentifierProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 37;
                            return ;
                        }
                        if (("RegisterNameIdentifierServiceURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 40;
                            return ;
                        }
                        state = 42;
                        continue outer;
                    case  60 :
                        if (("AdditionalMetaLocation" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 58;
                            return ;
                        }
                        if (("Extension" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            _Extension = ((com.sun.identity.liberty.ws.meta.jaxb.impl.ExtensionElementImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.ExtensionElementImpl.class), 63, ___uri, ___local, ___qname, __atts));
                            return ;
                        }
                        if (("Extension" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, false);
                            state = 61;
                            return ;
                        }
                        state = 63;
                        continue outer;
                    case  13 :
                        attIdx = context.getAttribute("", "use");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
                            return ;
                        }
                        if (("EncryptionMethod" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname, __atts)));
                            return ;
                        }
                        if (("KeySize" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname, __atts)));
                            return ;
                        }
                        if (("KeyInfo" == ___local)&&("http://www.w3.org/2000/09/xmldsig#" == ___uri)) {
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname, __atts)));
                            return ;
                        }
                        if (("KeyInfo" == ___local)&&("http://www.w3.org/2000/09/xmldsig#" == ___uri)) {
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname, __atts)));
                            return ;
                        }
                        if (("Extension" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname, __atts)));
                            return ;
                        }
                        if (("Extension" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname, __atts)));
                            return ;
                        }
                        _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname, __atts)));
                        return ;
                    case  27 :
                        if (("FederationTerminationServiceReturnURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 28;
                            return ;
                        }
                        state = 30;
                        continue outer;
                    case  61 :
                        if (!(("" == ___uri)||("urn:liberty:metadata:2003-08" == ___uri))) {
                            _Extension = ((com.sun.identity.liberty.ws.meta.jaxb.impl.ExtensionTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.ExtensionTypeImpl.class), 62, ___uri, ___local, ___qname, __atts));
                            return ;
                        }
                        break;
                    case  36 :
                        if (("SingleLogoutProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 34;
                            return ;
                        }
                        if (("RegisterNameIdentifierProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 37;
                            return ;
                        }
                        state = 39;
                        continue outer;
                    case  57 :
                        if (("ContactPerson" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, false);
                            state = 55;
                            return ;
                        }
                        if (("AdditionalMetaLocation" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 58;
                            return ;
                        }
                        state = 60;
                        continue outer;
                    case  51 :
                        if (("NameIdentifierMappingEncryptionProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 49;
                            return ;
                        }
                        if (("Organization" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, false);
                            state = 52;
                            return ;
                        }
                        state = 54;
                        continue outer;
                    case  63 :
                        if (("Signature" == ___local)&&("http://www.w3.org/2000/09/xmldsig#" == ___uri)) {
                            _Signature = ((com.sun.identity.liberty.ws.common.jaxb.xmlsig.impl.SignatureElementImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.common.jaxb.xmlsig.impl.SignatureElementImpl.class), 66, ___uri, ___local, ___qname, __atts));
                            return ;
                        }
                        if (("Signature" == ___local)&&("http://www.w3.org/2000/09/xmldsig#" == ___uri)) {
                            context.pushAttributes(__atts, false);
                            state = 64;
                            return ;
                        }
                        state = 66;
                        continue outer;
                    case  55 :
                        attIdx = context.getAttribute("", "contactType");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
                            return ;
                        }
                        break;
                    case  21 :
                        if (("SingleLogoutServiceReturnURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 22;
                            return ;
                        }
                        state = 24;
                        continue outer;
                    case  52 :
                        if (("OrganizationName" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            _Organization = ((com.sun.identity.liberty.ws.meta.jaxb.impl.OrganizationTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.OrganizationTypeImpl.class), 53, ___uri, ___local, ___qname, __atts));
                            return ;
                        }
                        break;
                    case  0 :
                        attIdx = context.getAttribute("", "cacheDuration");
                        if (attIdx >= 0) {
                            final java.lang.String v = context.eatAttribute(attIdx);
                            state = 3;
                            eatText1(v);
                            continue outer;
                        }
                        state = 3;
                        continue outer;
                    case  45 :
                        if (("NameIdentifierMappingProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, false);
                            state = 46;
                            return ;
                        }
                        state = 48;
                        continue outer;
                    case  6 :
                        attIdx = context.getAttribute("", "protocolSupportEnumeration");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
                            return ;
                        }
                        break;
                    case  48 :
                        if (("NameIdentifierMappingProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, false);
                            state = 46;
                            return ;
                        }
                        if (("NameIdentifierMappingEncryptionProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 49;
                            return ;
                        }
                        state = 51;
                        continue outer;
                    case  12 :
                        if (("KeyDescriptor" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorElementImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorElementImpl.class), 15, ___uri, ___local, ___qname, __atts)));
                            return ;
                        }
                        if (("KeyDescriptor" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, false);
                            state = 13;
                            return ;
                        }
                        state = 15;
                        continue outer;
                    case  42 :
                        if (("RegisterNameIdentifierServiceReturnURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 43;
                            return ;
                        }
                        state = 45;
                        continue outer;
                    case  24 :
                        if (("FederationTerminationServiceURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 25;
                            return ;
                        }
                        state = 27;
                        continue outer;
                    case  46 :
                        attIdx = context.getAttribute("", "AuthorityKind");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
                            return ;
                        }
                        break;
                    case  58 :
                        attIdx = context.getAttribute("", "namespace");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
                            return ;
                        }
                        break;
                    case  54 :
                        if (("ContactPerson" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, false);
                            state = 55;
                            return ;
                        }
                        state = 57;
                        continue outer;
                    case  3 :
                        attIdx = context.getAttribute("", "id");
                        if (attIdx >= 0) {
                            final java.lang.String v = context.eatAttribute(attIdx);
                            state = 6;
                            eatText2(v);
                            continue outer;
                        }
                        state = 6;
                        continue outer;
                    case  66 :
                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
                        return ;
                    case  64 :
                        attIdx = context.getAttribute("", "Id");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
                            return ;
                        }
                        if (("SignedInfo" == ___local)&&("http://www.w3.org/2000/09/xmldsig#" == ___uri)) {
                            _Signature = ((com.sun.identity.liberty.ws.common.jaxb.xmlsig.impl.SignatureTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.common.jaxb.xmlsig.impl.SignatureTypeImpl.class), 65, ___uri, ___local, ___qname, __atts));
                            return ;
                        }
                        if (("SignedInfo" == ___local)&&("http://www.w3.org/2000/09/xmldsig#" == ___uri)) {
                            _Signature = ((com.sun.identity.liberty.ws.common.jaxb.xmlsig.impl.SignatureTypeImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.common.jaxb.xmlsig.impl.SignatureTypeImpl.class), 65, ___uri, ___local, ___qname, __atts));
                            return ;
                        }
                        break;
                    case  15 :
                        if (("KeyDescriptor" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorElementImpl) spawnChildFromEnterElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorElementImpl.class), 15, ___uri, ___local, ___qname, __atts)));
                            return ;
                        }
                        if (("KeyDescriptor" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, false);
                            state = 13;
                            return ;
                        }
                        if (("SoapEndpoint" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 16;
                            return ;
                        }
                        state = 18;
                        continue outer;
                    case  18 :
                        if (("SingleLogoutServiceURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.pushAttributes(__atts, true);
                            state = 19;
                            return ;
                        }
                        state = 21;
                        continue outer;
                    case  9 :
                        attIdx = context.getAttribute("", "validUntil");
                        if (attIdx >= 0) {
                            final java.lang.String v = context.eatAttribute(attIdx);
                            state = 12;
                            eatText3(v);
                            continue outer;
                        }
                        state = 12;
                        continue outer;
                }
                super.enterElement(___uri, ___local, ___qname, __atts);
                break;
            }
        }

        private void eatText1(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _CacheDuration = com.sun.xml.bind.WhiteSpaceProcessor.collapse(value);
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText2(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _Id = context.addToIdTable(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText3(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _ValidUntil = ((java.util.Calendar) com.sun.msv.datatype.xsd.DateTimeType.theInstance.createJavaObject(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value), null));
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
            throws org.xml.sax.SAXException
        {
            int attIdx;
            outer:
            while (true) {
                switch (state) {
                    case  47 :
                        if (("NameIdentifierMappingProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 48;
                            return ;
                        }
                        break;
                    case  33 :
                        state = 36;
                        continue outer;
                    case  30 :
                        state = 33;
                        continue outer;
                    case  39 :
                        state = 42;
                        continue outer;
                    case  53 :
                        if (("Organization" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 54;
                            return ;
                        }
                        break;
                    case  32 :
                        if (("FederationTerminationNotificationProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 33;
                            return ;
                        }
                        break;
                    case  41 :
                        if (("RegisterNameIdentifierServiceURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 42;
                            return ;
                        }
                        break;
                    case  26 :
                        if (("FederationTerminationServiceURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 27;
                            return ;
                        }
                        break;
                    case  60 :
                        state = 63;
                        continue outer;
                    case  13 :
                        attIdx = context.getAttribute("", "use");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
                            return ;
                        }
                        _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromLeaveElement((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname)));
                        return ;
                    case  14 :
                        if (("KeyDescriptor" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 15;
                            return ;
                        }
                        break;
                    case  27 :
                        state = 30;
                        continue outer;
                    case  17 :
                        if (("SoapEndpoint" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 18;
                            return ;
                        }
                        break;
                    case  36 :
                        state = 39;
                        continue outer;
                    case  57 :
                        state = 60;
                        continue outer;
                    case  51 :
                        state = 54;
                        continue outer;
                    case  65 :
                        if (("Signature" == ___local)&&("http://www.w3.org/2000/09/xmldsig#" == ___uri)) {
                            context.popAttributes();
                            state = 66;
                            return ;
                        }
                        break;
                    case  23 :
                        if (("SingleLogoutServiceReturnURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 24;
                            return ;
                        }
                        break;
                    case  44 :
                        if (("RegisterNameIdentifierServiceReturnURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 45;
                            return ;
                        }
                        break;
                    case  63 :
                        state = 66;
                        continue outer;
                    case  35 :
                        if (("SingleLogoutProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 36;
                            return ;
                        }
                        break;
                    case  55 :
                        attIdx = context.getAttribute("", "contactType");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  38 :
                        if (("RegisterNameIdentifierProtocolProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 39;
                            return ;
                        }
                        break;
                    case  21 :
                        state = 24;
                        continue outer;
                    case  56 :
                        if (("ContactPerson" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 57;
                            return ;
                        }
                        break;
                    case  0 :
                        attIdx = context.getAttribute("", "cacheDuration");
                        if (attIdx >= 0) {
                            final java.lang.String v = context.eatAttribute(attIdx);
                            state = 3;
                            eatText1(v);
                            continue outer;
                        }
                        state = 3;
                        continue outer;
                    case  29 :
                        if (("FederationTerminationServiceReturnURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 30;
                            return ;
                        }
                        break;
                    case  45 :
                        state = 48;
                        continue outer;
                    case  6 :
                        attIdx = context.getAttribute("", "protocolSupportEnumeration");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  48 :
                        state = 51;
                        continue outer;
                    case  12 :
                        state = 15;
                        continue outer;
                    case  42 :
                        state = 45;
                        continue outer;
                    case  20 :
                        if (("SingleLogoutServiceURL" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 21;
                            return ;
                        }
                        break;
                    case  59 :
                        if (("AdditionalMetaLocation" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 60;
                            return ;
                        }
                        break;
                    case  24 :
                        state = 27;
                        continue outer;
                    case  46 :
                        attIdx = context.getAttribute("", "AuthorityKind");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  58 :
                        attIdx = context.getAttribute("", "namespace");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  54 :
                        state = 57;
                        continue outer;
                    case  3 :
                        attIdx = context.getAttribute("", "id");
                        if (attIdx >= 0) {
                            final java.lang.String v = context.eatAttribute(attIdx);
                            state = 6;
                            eatText2(v);
                            continue outer;
                        }
                        state = 6;
                        continue outer;
                    case  66 :
                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
                        return ;
                    case  62 :
                        if (("Extension" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 63;
                            return ;
                        }
                        break;
                    case  50 :
                        if (("NameIdentifierMappingEncryptionProfile" == ___local)&&("urn:liberty:metadata:2003-08" == ___uri)) {
                            context.popAttributes();
                            state = 51;
                            return ;
                        }
                        break;
                    case  64 :
                        attIdx = context.getAttribute("", "Id");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  15 :
                        state = 18;
                        continue outer;
                    case  18 :
                        state = 21;
                        continue outer;
                    case  9 :
                        attIdx = context.getAttribute("", "validUntil");
                        if (attIdx >= 0) {
                            final java.lang.String v = context.eatAttribute(attIdx);
                            state = 12;
                            eatText3(v);
                            continue outer;
                        }
                        state = 12;
                        continue outer;
                }
                super.leaveElement(___uri, ___local, ___qname);
                break;
            }
        }

        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
            throws org.xml.sax.SAXException
        {
            int attIdx;
            outer:
            while (true) {
                switch (state) {
                    case  33 :
                        state = 36;
                        continue outer;
                    case  30 :
                        state = 33;
                        continue outer;
                    case  39 :
                        state = 42;
                        continue outer;
                    case  60 :
                        state = 63;
                        continue outer;
                    case  13 :
                        if (("use" == ___local)&&("" == ___uri)) {
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromEnterAttribute((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname)));
                            return ;
                        }
                        _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromEnterAttribute((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname)));
                        return ;
                    case  27 :
                        state = 30;
                        continue outer;
                    case  36 :
                        state = 39;
                        continue outer;
                    case  57 :
                        state = 60;
                        continue outer;
                    case  51 :
                        state = 54;
                        continue outer;
                    case  63 :
                        state = 66;
                        continue outer;
                    case  55 :
                        if (("contactType" == ___local)&&("" == ___uri)) {
                            _getContactPerson().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.ContactTypeImpl) spawnChildFromEnterAttribute((com.sun.identity.liberty.ws.meta.jaxb.impl.ContactTypeImpl.class), 56, ___uri, ___local, ___qname)));
                            return ;
                        }
                        break;
                    case  21 :
                        state = 24;
                        continue outer;
                    case  0 :
                        if (("cacheDuration" == ___local)&&("" == ___uri)) {
                            state = 1;
                            return ;
                        }
                        state = 3;
                        continue outer;
                    case  45 :
                        state = 48;
                        continue outer;
                    case  6 :
                        if (("protocolSupportEnumeration" == ___local)&&("" == ___uri)) {
                            state = 7;
                            return ;
                        }
                        break;
                    case  48 :
                        state = 51;
                        continue outer;
                    case  12 :
                        state = 15;
                        continue outer;
                    case  42 :
                        state = 45;
                        continue outer;
                    case  24 :
                        state = 27;
                        continue outer;
                    case  46 :
                        if (("AuthorityKind" == ___local)&&("" == ___uri)) {
                            _getNameIdentifierMappingProtocolProfile().add(((com.sun.identity.liberty.ws.common.jaxb.assertion.impl.AuthorityBindingTypeImpl) spawnChildFromEnterAttribute((com.sun.identity.liberty.ws.common.jaxb.assertion.impl.AuthorityBindingTypeImpl.class), 47, ___uri, ___local, ___qname)));
                            return ;
                        }
                        break;
                    case  58 :
                        if (("namespace" == ___local)&&("" == ___uri)) {
                            _getAdditionalMetaLocation().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.AdditionalMetadataLocationTypeImpl) spawnChildFromEnterAttribute((com.sun.identity.liberty.ws.meta.jaxb.impl.AdditionalMetadataLocationTypeImpl.class), 59, ___uri, ___local, ___qname)));
                            return ;
                        }
                        break;
                    case  54 :
                        state = 57;
                        continue outer;
                    case  3 :
                        if (("id" == ___local)&&("" == ___uri)) {
                            state = 4;
                            return ;
                        }
                        state = 6;
                        continue outer;
                    case  66 :
                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
                        return ;
                    case  64 :
                        if (("Id" == ___local)&&("" == ___uri)) {
                            _Signature = ((com.sun.identity.liberty.ws.common.jaxb.xmlsig.impl.SignatureTypeImpl) spawnChildFromEnterAttribute((com.sun.identity.liberty.ws.common.jaxb.xmlsig.impl.SignatureTypeImpl.class), 65, ___uri, ___local, ___qname));
                            return ;
                        }
                        break;
                    case  15 :
                        state = 18;
                        continue outer;
                    case  18 :
                        state = 21;
                        continue outer;
                    case  9 :
                        if (("validUntil" == ___local)&&("" == ___uri)) {
                            state = 10;
                            return ;
                        }
                        state = 12;
                        continue outer;
                }
                super.enterAttribute(___uri, ___local, ___qname);
                break;
            }
        }

        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
            throws org.xml.sax.SAXException
        {
            int attIdx;
            outer:
            while (true) {
                switch (state) {
                    case  33 :
                        state = 36;
                        continue outer;
                    case  30 :
                        state = 33;
                        continue outer;
                    case  39 :
                        state = 42;
                        continue outer;
                    case  60 :
                        state = 63;
                        continue outer;
                    case  13 :
                        attIdx = context.getAttribute("", "use");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
                            return ;
                        }
                        _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromLeaveAttribute((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, ___uri, ___local, ___qname)));
                        return ;
                    case  27 :
                        state = 30;
                        continue outer;
                    case  36 :
                        state = 39;
                        continue outer;
                    case  57 :
                        state = 60;
                        continue outer;
                    case  51 :
                        state = 54;
                        continue outer;
                    case  11 :
                        if (("validUntil" == ___local)&&("" == ___uri)) {
                            state = 12;
                            return ;
                        }
                        break;
                    case  63 :
                        state = 66;
                        continue outer;
                    case  55 :
                        attIdx = context.getAttribute("", "contactType");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  21 :
                        state = 24;
                        continue outer;
                    case  0 :
                        attIdx = context.getAttribute("", "cacheDuration");
                        if (attIdx >= 0) {
                            final java.lang.String v = context.eatAttribute(attIdx);
                            state = 3;
                            eatText1(v);
                            continue outer;
                        }
                        state = 3;
                        continue outer;
                    case  45 :
                        state = 48;
                        continue outer;
                    case  6 :
                        attIdx = context.getAttribute("", "protocolSupportEnumeration");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  48 :
                        state = 51;
                        continue outer;
                    case  12 :
                        state = 15;
                        continue outer;
                    case  42 :
                        state = 45;
                        continue outer;
                    case  5 :
                        if (("id" == ___local)&&("" == ___uri)) {
                            state = 6;
                            return ;
                        }
                        break;
                    case  24 :
                        state = 27;
                        continue outer;
                    case  46 :
                        attIdx = context.getAttribute("", "AuthorityKind");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  58 :
                        attIdx = context.getAttribute("", "namespace");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  54 :
                        state = 57;
                        continue outer;
                    case  3 :
                        attIdx = context.getAttribute("", "id");
                        if (attIdx >= 0) {
                            final java.lang.String v = context.eatAttribute(attIdx);
                            state = 6;
                            eatText2(v);
                            continue outer;
                        }
                        state = 6;
                        continue outer;
                    case  66 :
                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
                        return ;
                    case  8 :
                        if (("protocolSupportEnumeration" == ___local)&&("" == ___uri)) {
                            state = 9;
                            return ;
                        }
                        break;
                    case  64 :
                        attIdx = context.getAttribute("", "Id");
                        if (attIdx >= 0) {
                            context.consumeAttribute(attIdx);
                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
                            return ;
                        }
                        break;
                    case  15 :
                        state = 18;
                        continue outer;
                    case  18 :
                        state = 21;
                        continue outer;
                    case  9 :
                        attIdx = context.getAttribute("", "validUntil");
                        if (attIdx >= 0) {
                            final java.lang.String v = context.eatAttribute(attIdx);
                            state = 12;
                            eatText3(v);
                            continue outer;
                        }
                        state = 12;
                        continue outer;
                    case  2 :
                        if (("cacheDuration" == ___local)&&("" == ___uri)) {
                            state = 3;
                            return ;
                        }
                        break;
                }
                super.leaveAttribute(___uri, ___local, ___qname);
                break;
            }
        }

        public void handleText(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            int attIdx;
            outer:
            while (true) {
                try {
                    switch (state) {
                        case  33 :
                            state = 36;
                            continue outer;
                        case  30 :
                            state = 33;
                            continue outer;
                        case  39 :
                            state = 42;
                            continue outer;
                        case  49 :
                            state = 50;
                            eatText4(value);
                            return ;
                        case  31 :
                            state = 32;
                            eatText5(value);
                            return ;
                        case  34 :
                            state = 35;
                            eatText6(value);
                            return ;
                        case  25 :
                            state = 26;
                            eatText7(value);
                            return ;
                        case  4 :
                            state = 5;
                            eatText2(value);
                            return ;
                        case  60 :
                            state = 63;
                            continue outer;
                        case  40 :
                            state = 41;
                            eatText8(value);
                            return ;
                        case  43 :
                            state = 44;
                            eatText9(value);
                            return ;
                        case  22 :
                            state = 23;
                            eatText10(value);
                            return ;
                        case  13 :
                            attIdx = context.getAttribute("", "use");
                            if (attIdx >= 0) {
                                context.consumeAttribute(attIdx);
                                context.getCurrentHandler().text(value);
                                return ;
                            }
                            _getKeyDescriptor().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl) spawnChildFromText((com.sun.identity.liberty.ws.meta.jaxb.impl.KeyDescriptorTypeImpl.class), 14, value)));
                            return ;
                        case  27 :
                            state = 30;
                            continue outer;
                        case  28 :
                            state = 29;
                            eatText11(value);
                            return ;
                        case  36 :
                            state = 39;
                            continue outer;
                        case  57 :
                            state = 60;
                            continue outer;
                        case  51 :
                            state = 54;
                            continue outer;
                        case  19 :
                            state = 20;
                            eatText12(value);
                            return ;
                        case  63 :
                            state = 66;
                            continue outer;
                        case  55 :
                            attIdx = context.getAttribute("", "contactType");
                            if (attIdx >= 0) {
                                context.consumeAttribute(attIdx);
                                context.getCurrentHandler().text(value);
                                return ;
                            }
                            break;
                        case  21 :
                            state = 24;
                            continue outer;
                        case  0 :
                            attIdx = context.getAttribute("", "cacheDuration");
                            if (attIdx >= 0) {
                                final java.lang.String v = context.eatAttribute(attIdx);
                                state = 3;
                                eatText1(v);
                                continue outer;
                            }
                            state = 3;
                            continue outer;
                        case  1 :
                            state = 2;
                            eatText1(value);
                            return ;
                        case  45 :
                            state = 48;
                            continue outer;
                        case  6 :
                            attIdx = context.getAttribute("", "protocolSupportEnumeration");
                            if (attIdx >= 0) {
                                context.consumeAttribute(attIdx);
                                context.getCurrentHandler().text(value);
                                return ;
                            }
                            break;
                        case  48 :
                            state = 51;
                            continue outer;
                        case  16 :
                            state = 17;
                            eatText13(value);
                            return ;
                        case  12 :
                            state = 15;
                            continue outer;
                        case  42 :
                            state = 45;
                            continue outer;
                        case  37 :
                            state = 38;
                            eatText14(value);
                            return ;
                        case  24 :
                            state = 27;
                            continue outer;
                        case  46 :
                            attIdx = context.getAttribute("", "AuthorityKind");
                            if (attIdx >= 0) {
                                context.consumeAttribute(attIdx);
                                context.getCurrentHandler().text(value);
                                return ;
                            }
                            break;
                        case  58 :
                            attIdx = context.getAttribute("", "namespace");
                            if (attIdx >= 0) {
                                context.consumeAttribute(attIdx);
                                context.getCurrentHandler().text(value);
                                return ;
                            }
                            _getAdditionalMetaLocation().add(((com.sun.identity.liberty.ws.meta.jaxb.impl.AdditionalMetadataLocationTypeImpl) spawnChildFromText((com.sun.identity.liberty.ws.meta.jaxb.impl.AdditionalMetadataLocationTypeImpl.class), 59, value)));
                            return ;
                        case  54 :
                            state = 57;
                            continue outer;
                        case  3 :
                            attIdx = context.getAttribute("", "id");
                            if (attIdx >= 0) {
                                final java.lang.String v = context.eatAttribute(attIdx);
                                state = 6;
                                eatText2(v);
                                continue outer;
                            }
                            state = 6;
                            continue outer;
                        case  7 :
                            state = 8;
                            eatText15(value);
                            return ;
                        case  66 :
                            revertToParentFromText(value);
                            return ;
                        case  8 :
                            state = 8;
                            eatText15(value);
                            return ;
                        case  64 :
                            attIdx = context.getAttribute("", "Id");
                            if (attIdx >= 0) {
                                context.consumeAttribute(attIdx);
                                context.getCurrentHandler().text(value);
                                return ;
                            }
                            break;
                        case  15 :
                            state = 18;
                            continue outer;
                        case  18 :
                            state = 21;
                            continue outer;
                        case  9 :
                            attIdx = context.getAttribute("", "validUntil");
                            if (attIdx >= 0) {
                                final java.lang.String v = context.eatAttribute(attIdx);
                                state = 12;
                                eatText3(v);
                                continue outer;
                            }
                            state = 12;
                            continue outer;
                        case  10 :
                            state = 11;
                            eatText3(value);
                            return ;
                    }
                } catch (java.lang.RuntimeException e) {
                    handleUnexpectedTextException(value, e);
                }
                break;
            }
        }

        private void eatText4(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _getNameIdentifierMappingEncryptionProfile().add(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText5(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _getFederationTerminationNotificationProtocolProfile().add(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText6(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _getSingleLogoutProtocolProfile().add(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText7(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _FederationTerminationServiceURL = com.sun.xml.bind.WhiteSpaceProcessor.collapse(value);
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText8(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _RegisterNameIdentifierServiceURL = com.sun.xml.bind.WhiteSpaceProcessor.collapse(value);
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText9(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _RegisterNameIdentifierServiceReturnURL = com.sun.xml.bind.WhiteSpaceProcessor.collapse(value);
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText10(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _SingleLogoutServiceReturnURL = com.sun.xml.bind.WhiteSpaceProcessor.collapse(value);
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText11(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _FederationTerminationServiceReturnURL = com.sun.xml.bind.WhiteSpaceProcessor.collapse(value);
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText12(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _SingleLogoutServiceURL = com.sun.xml.bind.WhiteSpaceProcessor.collapse(value);
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText13(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _SoapEndpoint = com.sun.xml.bind.WhiteSpaceProcessor.collapse(value);
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText14(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _getRegisterNameIdentifierProtocolProfile().add(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

        private void eatText15(final java.lang.String value)
            throws org.xml.sax.SAXException
        {
            try {
                _getProtocolSupportEnumeration().add(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
            } catch (java.lang.Exception e) {
                handleParseConversionException(e);
            }
        }

    }

}
