@Override
	public void undo() {
		JoeTree tree = node.getTree();
		
		node.setValue(oldText);
		tree.setCursorPosition(oldPosition);
		tree.getDocument().setPreferredCaretPosition(oldPosition);
		tree.setCursorMarkPosition(oldMarkPosition);
		tree.setComponentFocus(OutlineLayoutManager.TEXT);
		tree.setEditingNode(node);
		tree.clearSelection();
		
		if (!node.isVisible()) {
			tree.insertNode(node); // Used for visibility
		}
		
		tree.getDocument().panel.layout.draw(node, OutlineLayoutManager.TEXT);
	}