@Nullable
 private TreePath getSelectedUniquePath() {
   JTree tree = getTree();
   if (tree == null) return null;
   TreePath[] paths = tree.getSelectionPaths();
   return paths == null || paths.length != 1 ? null : paths[0];
 }
 @Nullable
 private Object[] getSelectedTreeElements() {
   final JTree tree = getTree();
   return tree != null ? convertPathsToTreeElements(tree.getSelectionPaths()) : null;
 }
 private Object[] getSelectedElements() {
   final JTree tree = getTree();
   return tree != null
       ? convertPathsToValues(tree.getSelectionPaths())
       : ArrayUtil.EMPTY_OBJECT_ARRAY;
 }