@NotNull private Collection<DefaultMutableTreeNode> getSelectedNodes() { if (!isValid()) { return Collections.emptyList(); } JTree tree = myStructureViewComponent.getTree(); if (tree == null) return Collections.emptyList(); TreePath[] selected = tree.getSelectionModel().getSelectionPaths(); if (selected == null || selected.length == 0) return Collections.emptyList(); return ContainerUtil.map( selected, new Function<TreePath, DefaultMutableTreeNode>() { @Override public DefaultMutableTreeNode fun(TreePath treePath) { return (DefaultMutableTreeNode) treePath.getLastPathComponent(); } }); }