void (Value value, ChildrenBuilder builder, EvaluationContext evaluationContext) { NodeManager nodeManager = builder.getNodeManager(); NodeDescriptorFactory descriptorFactory = builder.getDescriptorManager(); List<DebuggerTreeNode> children = new ArrayList<>(); int idx = 0; for (ChildInfo childInfo : myChildren) { UserExpressionData data = new UserExpressionData((ValueDescriptorImpl)builder.getParentDescriptor(), getClassName(), childInfo.myName, childInfo.myExpression); data.setEnumerationIndex(idx++); UserExpressionDescriptor descriptor = descriptorFactory.getUserExpressionDescriptor(builder.getParentDescriptor(), data); if (childInfo.myOnDemand) { descriptor.putUserData(OnDemandRenderer.ON_DEMAND_CALCULATED, false); } children.add(nodeManager.createNode(descriptor, evaluationContext)); } builder.addChildren(children, !myAppendDefaultChildren); if (myAppendDefaultChildren) { DebugProcessImpl.getDefaultRenderer(value).buildChildren(value, builder, evaluationContext); } }