@Override
	public void redo() {
		JoeTree tree = parent.getTree();

		// Remove node from visible nodes cache
		tree.removeNode(oldNode);
		
		// Swap the nodes
		parent.removeChild(oldNode, index);	
			
		if (newNode != null) {
			parent.insertChild(newNode, index);
			
			// Insert the node into the visible nodes cache
			tree.insertNode(newNode);
	
			// Handle Selection
			tree.addNodeToSelection(newNode);
		}
	}