void (@NotNull final XCompositeNode node) { scheduleCommand(getEvaluationContext(), node, new SuspendContextCommandImpl(getEvaluationContext().getSuspendContext()) { @Override public Priority getPriority() { return Priority.NORMAL; } @Override public void contextAction(@NotNull SuspendContextImpl suspendContext) { final XValueChildrenList children = new XValueChildrenList(); Value value = getDescriptor().getValue(); List<ReferringObject> referringObjects; try { referringObjects = myReferringObjectsProvider.getReferringObjects(getEvaluationContext(), (ObjectReference)value, MAX_REFERRING); } catch (ObjectCollectedException e) { node.setErrorMessage(JavaDebuggerBundle.message("evaluation.error.object.collected")); return; } catch (EvaluateException e) { node.setErrorMessage(e.getMessage()); return; } int i = 1; for (final ReferringObject object : referringObjects) { String nodeName = object.getNodeName(i++); ValueDescriptorImpl descriptor = object.createValueDescription(getProject(), value); JavaReferringObjectsValue referringValue = new JavaReferringObjectsValue(null, descriptor, getEvaluationContext(), myReferringObjectsProvider, getNodeManager(), object.getNodeCustomizer()); if (nodeName == null) { children.add(referringValue); } else { children.add(nodeName, referringValue); } } node.addChildren(children, true); } } ); }