@Override
  protected void processChildElement(XMLObject parentSAMLObject, XMLObject childSAMLObject)
      throws UnmarshallingException {
    
    SchemeInformation schemeInformation = (SchemeInformation) parentSAMLObject; 
    
    final QName issuerNameIdQName = new QName(schemeInformation.getElementQName().getNamespaceURI(),
      SchemeInformation.ISSUER_NAME_LOCAL_NAME, schemeInformation.getElementQName().getPrefix());
        
    final QName schemeIdentifierQName = new QName(schemeInformation.getElementQName().getNamespaceURI(),
      SchemeInformation.SCHEME_IDENTIFIER_LOCAL_NAME, schemeInformation.getElementQName().getPrefix());

    final QName schemeTerritoryQName = new QName(schemeInformation.getElementQName().getNamespaceURI(),
      SchemeInformation.SCHEME_TERRITORY_LOCAL_NAME, schemeInformation.getElementQName().getPrefix());
    
    if ((childSAMLObject instanceof XSString) && issuerNameIdQName.equals(childSAMLObject.getElementQName())) {
      if (schemeInformation instanceof SchemeInformationImpl) {
        ((SchemeInformationImpl) schemeInformation).setIssuerName((XSString) childSAMLObject);
      }
      else {
        schemeInformation.setIssuerName(((XSString) childSAMLObject).getValue());
      }
    }
    else if ((childSAMLObject instanceof XSURI) && schemeIdentifierQName.equals(childSAMLObject.getElementQName())) {
      if (schemeInformation instanceof SchemeInformationImpl) {
        ((SchemeInformationImpl) schemeInformation).setSchemeIdentifier((XSURI) childSAMLObject);
      }
      else {
        schemeInformation.setSchemeIdentifier(((XSURI) childSAMLObject).getValue());
      }
    }
    else if ((childSAMLObject instanceof XSString) && schemeTerritoryQName.equals(childSAMLObject.getElementQName())) {
      if (schemeInformation instanceof SchemeInformationImpl) {
        ((SchemeInformationImpl) schemeInformation).setSchemeTerritory((XSString) childSAMLObject);
      }
      else {
        schemeInformation.setSchemeTerritory(((XSString) childSAMLObject).getValue());
      }
    } 
    else {
      super.processChildElement(parentSAMLObject, childSAMLObject);
    }    
  }
@ Override protected void processChildElement ( XMLObject parentSAMLObject , XMLObject childSAMLObject ) throws UnmarshallingException { SchemeInformation schemeInformation = ( SchemeInformation ) parentSAMLObject ; final QName issuerNameIdQName = new QName ( schemeInformation . getElementQName ( ) . getNamespaceURI ( ) , SchemeInformation . ISSUER_NAME_LOCAL_NAME , schemeInformation . getElementQName ( ) . getPrefix ( ) ) ; final QName schemeIdentifierQName = new QName ( schemeInformation . getElementQName ( ) . getNamespaceURI ( ) , SchemeInformation . SCHEME_IDENTIFIER_LOCAL_NAME , schemeInformation . getElementQName ( ) . getPrefix ( ) ) ; final QName schemeTerritoryQName = new QName ( schemeInformation . getElementQName ( ) . getNamespaceURI ( ) , SchemeInformation . SCHEME_TERRITORY_LOCAL_NAME , schemeInformation . getElementQName ( ) . getPrefix ( ) ) ; if ( ( childSAMLObject instanceof XSString ) && issuerNameIdQName . equals ( childSAMLObject . getElementQName ( ) ) ) { if ( schemeInformation instanceof SchemeInformationImpl ) { ( ( SchemeInformationImpl ) schemeInformation ) . setIssuerName ( ( XSString ) childSAMLObject ) ; } else { schemeInformation . setIssuerName ( ( ( XSString ) childSAMLObject ) . getValue ( ) ) ; } } else if ( ( childSAMLObject instanceof XSURI ) && schemeIdentifierQName . equals ( childSAMLObject . getElementQName ( ) ) ) { if ( schemeInformation instanceof SchemeInformationImpl ) { ( ( SchemeInformationImpl ) schemeInformation ) . setSchemeIdentifier ( ( XSURI ) childSAMLObject ) ; } else { schemeInformation . setSchemeIdentifier ( ( ( XSURI ) childSAMLObject ) . getValue ( ) ) ; } } else if ( ( childSAMLObject instanceof XSString ) && schemeTerritoryQName . equals ( childSAMLObject . getElementQName ( ) ) ) { if ( schemeInformation instanceof SchemeInformationImpl ) { ( ( SchemeInformationImpl ) schemeInformation ) . setSchemeTerritory ( ( XSString ) childSAMLObject ) ; } else { schemeInformation . setSchemeTerritory ( ( ( XSString ) childSAMLObject ) . getValue ( ) ) ; } } else { super . processChildElement ( parentSAMLObject , childSAMLObject ) ; } }
{@inheritDoc}