legacy/jacorb/src/main/java/org/jboss/as/jacorb/JacORBSubsystemParser.java
private void parseAttributes(XMLExtendedStreamReader reader, ModelNode node, EnumSet<Attribute> expectedAttributes,
                                 EnumSet<Attribute> requiredAttributes) throws XMLStreamException {

        EnumSet<Attribute> parsedAttributes = EnumSet.noneOf(Attribute.class);
        if (requiredAttributes == null) {
            requiredAttributes = EnumSet.noneOf(Attribute.class);
        }

        for (int i = 0; i < reader.getAttributeCount(); i++) {
            requireNoNamespaceAttribute(reader, i);
            final String attrValue = reader.getAttributeValue(i);
            final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i));
            // check for unexpected attributes.
            if (!expectedAttributes.contains(attribute))
                throw unexpectedAttribute(reader, i);
            // check for duplicate attributes.
            if (!parsedAttributes.add(attribute)) {
                throw duplicateAttribute(reader, attribute.getLocalName());
            }
            requiredAttributes.remove(attribute);
            ((SimpleAttributeDefinition)JacORBSubsystemDefinitions.valueOf(attribute.getLocalName())).
                    parseAndSetParameter(attrValue, node, reader);
        }

        // throw an exception if a required attribute wasn't found.
        if (!requiredAttributes.isEmpty()) {
            throw missingRequired(reader, requiredAttributes);
        }
    }
private void parseAttributes(XMLExtendedStreamReader reader, ModelNode node, EnumSet<Attribute> expectedAttributes,
                                 EnumSet<Attribute> requiredAttributes) throws XMLStreamException {

        EnumSet<Attribute> parsedAttributes = EnumSet.noneOf(Attribute.class);
        if (requiredAttributes == null) {
            requiredAttributes = EnumSet.noneOf(Attribute.class);
        }

        for (int i = 0; i < reader.getAttributeCount(); i++) {
            requireNoNamespaceAttribute(reader, i);
            final String attrValue = reader.getAttributeValue(i);
            final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i));
            // check for unexpected attributes.
            if (!expectedAttributes.contains(attribute))
                throw unexpectedAttribute(reader, i);
            // check for duplicate attributes.
            if (!parsedAttributes.add(attribute)) {
                throw duplicateAttribute(reader, attribute.getLocalName());
            }
            requiredAttributes.remove(attribute);
            ((SimpleAttributeDefinition)JacORBSubsystemDefinitions.valueOf(attribute.getLocalName())).
                    parseAndSetParameter(attrValue, node, reader);
        }

        // throw an exception if a required attribute wasn't found.
        if (!requiredAttributes.isEmpty()) {
            throw missingRequired(reader, requiredAttributes);
        }
    }
private void parseAttributes ( XMLExtendedStreamReader reader , ModelNode node , EnumSet < Attribute > expectedAttributes , EnumSet < Attribute > requiredAttributes ) throws XMLStreamException { EnumSet < Attribute > parsedAttributes = EnumSet . noneOf ( Attribute . class ) ; if ( requiredAttributes == null ) { requiredAttributes = EnumSet . noneOf ( Attribute . class ) ; } for ( int i = 0 ; i < reader . getAttributeCount ( ) ; i ++ ) { requireNoNamespaceAttribute ( reader , i ) ; final String attrValue = reader . getAttributeValue ( i ) ; final Attribute attribute = Attribute . forName ( reader . getAttributeLocalName ( i ) ) ; // check for unexpected attributes. if ( ! expectedAttributes . contains ( attribute ) ) throw unexpectedAttribute ( reader , i ) ; // check for duplicate attributes. if ( ! parsedAttributes . add ( attribute ) ) { throw duplicateAttribute ( reader , attribute . getLocalName ( ) ) ; } requiredAttributes . remove ( attribute ) ; ( ( SimpleAttributeDefinition ) JacORBSubsystemDefinitions . valueOf ( attribute . getLocalName ( ) ) ) . parseAndSetParameter ( attrValue , node , reader ) ; } // throw an exception if a required attribute wasn't found. if ( ! requiredAttributes . isEmpty ( ) ) { throw missingRequired ( reader , requiredAttributes ) ; } }
<p>
Parses all attributes from the current element and sets them in the specified {@code ModelNode}.
</p>

@param reader             the {@code XMLExtendedStreamReader} used to read the configuration XML.
@param node               the {@code ModelNode} that will hold the parsed attributes.
@param expectedAttributes an {@code EnumSet} containing all expected attributes. If the parsed attribute is not
one of the expected attributes, an exception is thrown.
@param requiredAttributes an {@code EnumSet} containing all required attributes. If a required attribute is not
found, an exception is thrown.
@throws XMLStreamException if an error occurs while parsing the XML, if an attribute is not one of the expected
attributes or if one of the required attributes is not parsed.
<p > Parses all attributes from the current element and sets them in the specified { @code ModelNode } . < / p >