@Override
    public void readElement(final XMLExtendedStreamReader reader, final ServerProvisioningDescription result) throws XMLStreamException {
        for (int i = 0; i < reader.getAttributeCount(); i++) {
            final Attribute attribute = Attribute.of(reader.getAttributeName(i));
            switch (attribute) {
                case COPY_MODULE_ARTIFACTS:
                    result.setCopyModuleArtifacts(Boolean.parseBoolean(reader.getAttributeValue(i)));
                    break;
                case EXTRACT_SCHEMAS:
                    result.setExtractSchemas(Boolean.parseBoolean(reader.getAttributeValue(i)));
                    break;
                case EXTRACT_SCHEMAS_GROUPS:
                    result.setExtractSchemasGroups(reader.getAttributeValue(i));
                    break;
                case EXCLUDE_DEPENDENCIES:
                    result.setExcludeDependencies(Boolean.parseBoolean(reader.getAttributeValue(i)));
                    break;
                default:
                    throw ParsingUtils.unexpectedAttribute(reader, i);
            }
        }

        while (reader.hasNext()) {
            switch (reader.nextTag()) {
                case XMLStreamConstants.END_ELEMENT: {
                    return;
                }
                case XMLStreamConstants.START_ELEMENT: {
                    final Element element = Element.of(reader.getLocalName());

                    switch (element) {
                        case FEATURE_PACKS:
                            parseFeaturePacks(reader, result);
                            break;
                        case VERSION_OVERRIDES:
                            parseVersionOverrides(reader, result);
                            break;
                        case COPY_ARTIFACTS:
                            copyArtifactsModelParser.parseCopyArtifacts(reader, result.getCopyArtifacts());
                            break;
                        default:
                            throw new XMLStreamException(String.format("Unknown element: '%s', elementName: %s, localName: %s", element, reader.getName(), reader.getLocalName()), reader.getLocation());
                            //throw ParsingUtils.unexpectedContent(reader);
                    }
                    break;
                }
                default: {
                    throw ParsingUtils.unexpectedContent(reader);
                }
            }
        }
        throw ParsingUtils.endOfDocument(reader.getLocation());
    }
@ Override public void readElement ( final XMLExtendedStreamReader reader , final ServerProvisioningDescription result ) throws XMLStreamException { for ( int i = 0 ; i < reader . getAttributeCount ( ) ; i ++ ) { final Attribute attribute = Attribute . of ( reader . getAttributeName ( i ) ) ; switch ( attribute ) { case COPY_MODULE_ARTIFACTS : result . setCopyModuleArtifacts ( Boolean . parseBoolean ( reader . getAttributeValue ( i ) ) ) ; break ; case EXTRACT_SCHEMAS : result . setExtractSchemas ( Boolean . parseBoolean ( reader . getAttributeValue ( i ) ) ) ; break ; case EXTRACT_SCHEMAS_GROUPS : result . setExtractSchemasGroups ( reader . getAttributeValue ( i ) ) ; break ; case EXCLUDE_DEPENDENCIES : result . setExcludeDependencies ( Boolean . parseBoolean ( reader . getAttributeValue ( i ) ) ) ; break ; default : throw ParsingUtils . unexpectedAttribute ( reader , i ) ; } } while ( reader . hasNext ( ) ) { switch ( reader . nextTag ( ) ) { case XMLStreamConstants . END_ELEMENT : { return ; } case XMLStreamConstants . START_ELEMENT : { final Element element = Element . of ( reader . getLocalName ( ) ) ; switch ( element ) { case FEATURE_PACKS : parseFeaturePacks ( reader , result ) ; break ; case VERSION_OVERRIDES : parseVersionOverrides ( reader , result ) ; break ; case COPY_ARTIFACTS : copyArtifactsModelParser . parseCopyArtifacts ( reader , result . getCopyArtifacts ( ) ) ; break ; default : throw new XMLStreamException ( String . format ( "Unknown element: '%s', elementName: %s, localName: %s" , element , reader . getName ( ) , reader . getLocalName ( ) ) , reader . getLocation ( ) ) ; } break ; } default : { throw ParsingUtils . unexpectedContent ( reader ) ; } } } throw ParsingUtils . endOfDocument ( reader . getLocation ( ) ) ; }
/*
we only override this method, for now only change new EXTRACT_SCHEMAS_GROUPS attribute