legacy/jacorb/src/main/java/org/jboss/as/jacorb/JacORBSubsystemParser.java
private void parseORBConfig(Namespace namespace, XMLExtendedStreamReader reader, ModelNode node) throws XMLStreamException {

        // parse the orb config attributes.
        EnumSet<Attribute> expectedAttributes = EnumSet.of(Attribute.NAME, Attribute.ORB_PRINT_VERSION,
                Attribute.ORB_GIOP_MINOR_VERSION, Attribute.ORB_USE_BOM, Attribute.ORB_USE_IMR,
                Attribute.ORB_CACHE_POA_NAMES, Attribute.ORB_CACHE_TYPECODES);
        // version 1.2 of the schema allows for the configuration of the ORB socket bindings.
        if (namespace.ordinal() >= Namespace.JacORB_1_2.ordinal()) {
            expectedAttributes.add(Attribute.ORB_SOCKET_BINDING);
            expectedAttributes.add(Attribute.ORB_SSL_SOCKET_BINDING);
        }
        if (namespace.ordinal() >= Namespace.JacORB_2_0.ordinal()) {
            expectedAttributes.add(Attribute.ORB_PERSISTENT_SERVER_ID);
        }

        this.parseAttributes(reader, node, expectedAttributes, null);

        // parse the orb config elements.
        EnumSet<Element> encountered = EnumSet.noneOf(Element.class);
        while (reader.hasNext() && reader.nextTag() != END_ELEMENT) {
            // check the element namespace.
            if (namespace != Namespace.forUri(reader.getNamespaceURI()))
                throw unexpectedElement(reader);

            final Element element = Element.forName(reader.getLocalName());
            // check for duplicate elements.
            if (!encountered.add(element)) {
                throw duplicateNamedElement(reader, element.getLocalName());
            }
            switch (element) {
                case ORB_CONNECTION: {
                    this.parseORBConnectionConfig(reader, node);
                    break;
                }
                case ORB_INITIALIZERS: {
                    this.parseORBInitializersConfig(reader, node);
                    break;
                }
                default: {
                    throw unexpectedElement(reader);
                }
            }
        }
    }
private void parseORBConfig(Namespace namespace, XMLExtendedStreamReader reader, ModelNode node) throws XMLStreamException {

        // parse the orb config attributes.
        EnumSet<Attribute> expectedAttributes = EnumSet.of(Attribute.NAME, Attribute.ORB_PRINT_VERSION,
                Attribute.ORB_GIOP_MINOR_VERSION, Attribute.ORB_USE_BOM, Attribute.ORB_USE_IMR,
                Attribute.ORB_CACHE_POA_NAMES, Attribute.ORB_CACHE_TYPECODES);
        // version 1.2 of the schema allows for the configuration of the ORB socket bindings.
        if (namespace.ordinal() >= Namespace.JacORB_1_2.ordinal()) {
            expectedAttributes.add(Attribute.ORB_SOCKET_BINDING);
            expectedAttributes.add(Attribute.ORB_SSL_SOCKET_BINDING);
        }
        if (namespace.ordinal() >= Namespace.JacORB_2_0.ordinal()) {
            expectedAttributes.add(Attribute.ORB_PERSISTENT_SERVER_ID);
        }

        this.parseAttributes(reader, node, expectedAttributes, null);

        // parse the orb config elements.
        EnumSet<Element> encountered = EnumSet.noneOf(Element.class);
        while (reader.hasNext() && reader.nextTag() != END_ELEMENT) {
            // check the element namespace.
            if (namespace != Namespace.forUri(reader.getNamespaceURI()))
                throw unexpectedElement(reader);

            final Element element = Element.forName(reader.getLocalName());
            // check for duplicate elements.
            if (!encountered.add(element)) {
                throw duplicateNamedElement(reader, element.getLocalName());
            }
            switch (element) {
                case ORB_CONNECTION: {
                    this.parseORBConnectionConfig(reader, node);
                    break;
                }
                case ORB_INITIALIZERS: {
                    this.parseORBInitializersConfig(reader, node);
                    break;
                }
                default: {
                    throw unexpectedElement(reader);
                }
            }
        }
    }
private void parseORBConfig ( Namespace namespace , XMLExtendedStreamReader reader , ModelNode node ) throws XMLStreamException { // parse the orb config attributes. EnumSet < Attribute > expectedAttributes = EnumSet . of ( Attribute . NAME , Attribute . ORB_PRINT_VERSION , Attribute . ORB_GIOP_MINOR_VERSION , Attribute . ORB_USE_BOM , Attribute . ORB_USE_IMR , Attribute . ORB_CACHE_POA_NAMES , Attribute . ORB_CACHE_TYPECODES ) ; // version 1.2 of the schema allows for the configuration of the ORB socket bindings. if ( namespace . ordinal ( ) >= Namespace . JacORB_1_2 . ordinal ( ) ) { expectedAttributes . add ( Attribute . ORB_SOCKET_BINDING ) ; expectedAttributes . add ( Attribute . ORB_SSL_SOCKET_BINDING ) ; } if ( namespace . ordinal ( ) >= Namespace . JacORB_2_0 . ordinal ( ) ) { expectedAttributes . add ( Attribute . ORB_PERSISTENT_SERVER_ID ) ; } this . parseAttributes ( reader , node , expectedAttributes , null ) ; // parse the orb config elements. EnumSet < Element > encountered = EnumSet . noneOf ( Element . class ) ; while ( reader . hasNext ( ) && reader . nextTag ( ) != END_ELEMENT ) { // check the element namespace. if ( namespace != Namespace . forUri ( reader . getNamespaceURI ( ) ) ) throw unexpectedElement ( reader ) ; final Element element = Element . forName ( reader . getLocalName ( ) ) ; // check for duplicate elements. if ( ! encountered . add ( element ) ) { throw duplicateNamedElement ( reader , element . getLocalName ( ) ) ; } switch ( element ) { case ORB_CONNECTION : { this . parseORBConnectionConfig ( reader , node ) ; break ; } case ORB_INITIALIZERS : { this . parseORBInitializersConfig ( reader , node ) ; break ; } default : { throw unexpectedElement ( reader ) ; } } } }
<p>
Parses the {@code orb} section of the JacORB subsystem configuration according to the XSD version 1.1 or higher.
</p>

@param namespace the expected {@code Namespace} of the parsed elements.
@param reader the {@code XMLExtendedStreamReader} used to read the configuration XML.
@param node   the {@code ModelNode} that will hold the parsed ORB configuration.
@throws javax.xml.stream.XMLStreamException
if an error occurs while parsing the XML.
<p > Parses the { @code orb } section of the JacORB subsystem configuration according to the XSD version 1 . 1 or higher . < / p >