private void moveNode(final CheckedTreeNode toolNode, Direction dir) {
   CheckedTreeNode parentNode = (CheckedTreeNode) toolNode.getParent();
   int index = parentNode.getIndex(toolNode);
   removeNodeFromParent(toolNode);
   int newIndex = dir.newIndex(index);
   parentNode.insert(toolNode, newIndex);
   getModel().nodesWereInserted(parentNode, new int[] {newIndex});
 }