final ModelNode result = new ModelNode();
result.setEmptyList();
resultHandler.handleResultFragment(new String[0], result);
resultHandler.handleResultComplete();
} else {
final PathAddress address = PathAddress.pathAddress(operation.get(OP_ADDR));
final Set<String> childNames = context.getRegistry().getChildNames(address);
if (!childNames.contains(childName)) {
throw new OperationFailedException(new ModelNode().set("No known child called " + childName)); //TODO i18n
} else {
final AtomicBoolean ok = new AtomicBoolean(true);
final ModelNode result = new ModelNode();
subModel = subModel.get(childName);
if (!subModel.isDefined()) {
result.setEmptyList();
} else {
for (final String key : subModel.keys()) {
if (!ok.get()) {
break;
}
final PathAddress childAddress = address.append(PathElement.pathElement(childName, key));
final ModelNode readOp = operation.clone();
readOp.get(OP_ADDR).set(childAddress.toModelNode());
if(operation.hasDefined(INCLUDE_RUNTIME))
readOp.get(INCLUDE_RUNTIME).set(operation.get(INCLUDE_RUNTIME).asBoolean());
final ModelNode readResult = readModel(context, readOp, new ResultHandler() {