private static void removePathFromActionsTree(JTree tree, ActionUrl url) {
   if (url.myComponent == null) return;
   final TreePath treePath = CustomizationUtil.getTreePath(tree, url);
   if (treePath == null) return;
   DefaultMutableTreeNode node = (DefaultMutableTreeNode) treePath.getLastPathComponent();
   final int absolutePosition = url.getAbsolutePosition();
   if (node.getChildCount() > absolutePosition && absolutePosition >= 0) {
     DefaultMutableTreeNode child = (DefaultMutableTreeNode) node.getChildAt(absolutePosition);
     if (child.getUserObject().equals(url.getComponent())) {
       node.remove(child);
     }
   }
 }
 private static void addPathToActionsTree(JTree tree, ActionUrl url) {
   final TreePath treePath = CustomizationUtil.getTreePath(tree, url);
   if (treePath == null) return;
   DefaultMutableTreeNode node = (DefaultMutableTreeNode) treePath.getLastPathComponent();
   final int absolutePosition = url.getAbsolutePosition();
   if (node.getChildCount() >= absolutePosition && absolutePosition >= 0) {
     if (url.getComponent() instanceof Group) {
       node.insert(ActionsTreeUtil.createNode((Group) url.getComponent()), absolutePosition);
     } else {
       node.insert(new DefaultMutableTreeNode(url.getComponent()), absolutePosition);
     }
   }
 }
 private static void movePathInActionsTree(JTree tree, ActionUrl url) {
   final TreePath treePath = CustomizationUtil.getTreePath(tree, url);
   if (treePath != null) {
     if (treePath.getLastPathComponent() != null) {
       final DefaultMutableTreeNode parent =
           ((DefaultMutableTreeNode) treePath.getLastPathComponent());
       final int absolutePosition = url.getAbsolutePosition();
       final int initialPosition = url.getInitialPosition();
       if (parent.getChildCount() > absolutePosition && absolutePosition >= 0) {
         if (parent.getChildCount() > initialPosition && initialPosition >= 0) {
           final DefaultMutableTreeNode child =
               (DefaultMutableTreeNode) parent.getChildAt(initialPosition);
           if (child.getUserObject().equals(url.getComponent())) {
             parent.remove(child);
             parent.insert(child, absolutePosition);
           }
         }
       }
     }
   }
 }