final PathAddress address = PathAddress.pathAddress(operation.get(OP_ADDR));
final AttributeAccess attributeAccess = context.getRegistry().getAttributeAccess(address, attributeName);
if (attributeAccess == null) {
final Set<String> children = context.getRegistry().getChildNames(address);
if(children.contains(attributeName)) {
throw new OperationFailedException(new ModelNode().set(String.format("'%s' is a registered child of resource (%s)", attributeName, address))); // TODO i18n
} else if(context.getSubModel().has(attributeName)) {
final ModelNode result = context.getSubModel().get(attributeName).clone();
resultHandler.handleResultFragment(Util.NO_LOCATION, result);
resultHandler.handleResultComplete();
} else {
throw new OperationFailedException(new ModelNode().set("No known attribute called " + attributeName)); // TODO i18n
}
} else if (attributeAccess.getReadHandler() == null) {
final ModelNode result = context.getSubModel().get(attributeName).clone();
resultHandler.handleResultFragment(Util.NO_LOCATION, result);
resultHandler.handleResultComplete();