@Override
 	public void mouseClicked(MouseEvent e) {
		// Catch for Solaris/Mac if they did the popup trigger.
		if (e.isConsumed()) {
 			return;
 		}
 		
 		textArea = (OutlinerCellRendererImpl) e.getComponent();
 		
		// Shorthand
		Node currentNode = textArea.node;
 		JoeTree tree = currentNode.getTree();
		
		// Set the Mark
		tree.setCursorMarkPosition(textArea.getCaret().getMark());
		tree.setCursorPosition(textArea.getCaretPosition(),false);
		
		// Lets record changes to the selection state into the current undoable if it is an UndoableEdit
		UndoableEdit undoable = tree.getDocument().undoQueue.getIfEdit();
		if ((undoable != null) && (undoable.getNode() == currentNode)) {
			undoable.setNewPosition(textArea.getCaretPosition());
			undoable.setNewMarkPosition(textArea.getCaret().getMark());
		}
 	}