protected void processDoubleClick(MouseEvent e) {
		if (MODE_EXPAND_DOUBLE_CLICK == expand_mode) {
			textArea.node.getTree().setSelectedNodesParent(textArea.node.getParent());
			textArea.node.getTree().addNodeToSelection(textArea.node);
			
			if (textArea.node.isExpanded()) {
				if (e.isShiftDown()) {
					textArea.node.setExpanded(false, false);
				} else {
					textArea.node.setExpanded(false, true);
				}
			} else {
				if (e.isShiftDown()) {
					textArea.node.ExpandAllSubheads();
				} else {
					textArea.node.setExpanded(true, true);
				}
			}
		} else {
			// MODE_EXPAND_SINGLE_CLICK
			if (textArea.node.isExpanded()) {
				textArea.node.setExpanded(false, true);
			} else {
				textArea.node.setExpanded(true, true);
			}
		}
	}