void (List<? extends DebuggerTreeNode> nodes, boolean last) { XValueChildrenList childrenList = XValueChildrenList.EMPTY; if (!nodes.isEmpty()) { childrenList = new XValueChildrenList(nodes.size()); for (DebuggerTreeNode treeNode : nodes) { NodeDescriptor descriptor = treeNode.getDescriptor(); if (descriptor instanceof ValueDescriptorImpl) { // Value is calculated already in NodeManagerImpl childrenList.add(create(JavaValue.this, (ValueDescriptorImpl)descriptor, myEvaluationContext, myNodeManager, false)); } else if (descriptor instanceof MessageDescriptor) { childrenList.add( new JavaStackFrame.DummyMessageValueNode(descriptor.getLabel(), DebuggerTreeRenderer.getDescriptorIcon(descriptor))); } } } node.addChildren(childrenList, last); }