public static Object extractUserObject(DefaultMutableTreeNode node) { Object userObject = node.getUserObject(); Object element = null; if (userObject instanceof AbstractTreeNode) { AbstractTreeNode descriptor = (AbstractTreeNode) userObject; element = descriptor.getValue(); } else if (userObject instanceof NodeDescriptor) { NodeDescriptor descriptor = (NodeDescriptor) userObject; element = descriptor.getElement(); if (element instanceof AbstractTreeNode) { element = ((AbstractTreeNode) element).getValue(); } } else if (userObject != null) { element = userObject; } return element; }
@Nullable protected final Object getParentValue() { AbstractTreeNode parent = getParent(); return parent == null ? null : parent.getValue(); }