private void readProvider(final List<ModelNode> list, String spiName, final XMLExtendedStreamReader reader) throws XMLStreamException { String[] attributes = ParseUtils.requireAttributes(reader, "name", ENABLED.getXmlName()); String providerName = attributes[0]; String enabled = attributes[1]; ModelNode addProvider = new ModelNode(); addProvider.get(ModelDescriptionConstants.OP).set(ModelDescriptionConstants.ADD); PathAddress addr = PathAddress.pathAddress(PathElement.pathElement(ModelDescriptionConstants.SUBSYSTEM, KeycloakExtension.SUBSYSTEM_NAME), PathElement.pathElement(SpiResourceDefinition.TAG_NAME, spiName), PathElement.pathElement(ProviderResourceDefinition.TAG_NAME, providerName)); addProvider.get(ModelDescriptionConstants.OP_ADDR).set(addr.toModelNode()); addProvider.get(ENABLED.getName()).set(Boolean.valueOf(enabled)); list.add(addProvider); while (nextTag(reader) != END_ELEMENT) { if (reader.getLocalName().equals(PROPERTIES.getXmlName())) { readProperties(PROPERTIES, addProvider, reader); } } }