CompletableFuture<XValueChildrenList> (List<Field> fields, ReferenceType refType) { return DebuggerUtilsAsync.getValues(refType, fields) .thenApply(cachedValues -> { XValueChildrenList children = new XValueChildrenList(); for (Field field : fields) { FieldDescriptorImpl fieldDescriptor = myNodeManager.getFieldDescriptor(myStaticDescriptor, null, field); if (cachedValues != null) { fieldDescriptor.setValue(cachedValues.get(field)); } children.add(JavaValue.create(fieldDescriptor, myEvaluationContext, myNodeManager)); } return children; } ); }