@Nullable
 private AbstractTreeNode getSelectedNode() {
   final TreePath path = myTree.getSelectionPath();
   if (path != null) {
     Object component = path.getLastPathComponent();
     if (component instanceof DefaultMutableTreeNode) {
       component = ((DefaultMutableTreeNode) component).getUserObject();
       if (component instanceof FilteringTreeStructure.FilteringNode) {
         component = ((FilteringTreeStructure.FilteringNode) component).getDelegate();
         if (component instanceof AbstractTreeNode) {
           return (AbstractTreeNode) component;
         }
       }
     }
   }
   return null;
 }