public static void insert(Node currentNode, JoeTree tree, OutlineLayoutManager layout) {
		// Abort if node is not editable
		if (!currentNode.isEditable()) {
			return;
		}
		
		tree.clearSelection();

		Node newNode = new NodeImpl(tree,"");
		int newNodeIndex = currentNode.currentIndex() + 1;
		Node newNodeParent = currentNode.getParent();

		newNode.setDepth(currentNode.getDepth());
		newNodeParent.insertChild(newNode, newNodeIndex);

		//int visibleIndex = tree.insertNodeAfter(node, newNode);
		tree.insertNode(newNode);

		// Record the EditingNode and CursorPosition and ComponentFocus
		tree.setEditingNode(newNode);
		tree.setCursorPosition(0);
		tree.getDocument().setPreferredCaretPosition(0);
		tree.setComponentFocus(OutlineLayoutManager.TEXT);

		// Put the Undoable onto the UndoQueue
		CompoundUndoableInsert undoable = new CompoundUndoableInsert(newNodeParent);
		undoable.setName("Insert Node Below");
		undoable.addPrimitive(new PrimitiveUndoableInsert(newNodeParent, newNode, newNodeIndex));
		tree.getDocument().getUndoQueue().add(undoable);
		
		// Redraw and Set Focus
		layout.draw(newNode, OutlineLayoutManager.TEXT);	
	}