final String value = reader.getAttributeValue(i);
if (!isNoNamespaceAttribute(reader, i)) {
throw ParseUtils.unexpectedAttribute(reader, i);
} else {
final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i));
switch (attribute) {
case NAME: {
if (name != null) {
throw ParseUtils.duplicateAttribute(reader, attribute.getLocalName());
}
if (!names.add(value)) {
throw ParseUtils.duplicateNamedElement(reader, value);
}
name = value;
break;
}
case PROFILE: {
if (profile != null) {
throw ParseUtils.duplicateAttribute(reader, attribute.getLocalName());
}
profile = value;
break;
} case MANAGEMENT_SUBSYSTEM_ENDPOINT: {
if (managementSubsystemEndpoint != null) {
throw ParseUtils.duplicateAttribute(reader, attribute.getLocalName());
}
managementSubsystemEndpoint = Boolean.valueOf(value);
break;
}
default: