TreePath[] selectedPaths = getSelectionPaths(); if (selectedPaths != null && selectedPaths.length != 1) { return; }
		public void mousePressed(MouseEvent evt) {			// TODO: (MM) need to make use of GUIUtilities.isRightMouseButton			if (SwingUtilities.isRightMouseButton(evt)) {				if (inCueMode) {					TreePath path = getClosestPathForLocation(evt.getX(), evt.getY() - cueLineOffset);					// if we are showing the ghosted node, paint it onto					// the location where the mouse currently is before we					// paint the cue line					if (showsGhostedNode)						paintGhostedNode(evt.getX() + 5, evt.getY() - 5, path);					drawCueLine(path, evt.getY(), true);				}				return;			}			// Use this listener stub in favour of mouseClicked() or mouseReleased()			// as there is an instance where if a particluar node is expanded, and			// a scrollbar is required, when that node is collapsed, the tree would			// go into cueMode because the icon of the node above was pressed			if (((CueTreeUI) getUI()).isLocationInExpandControl(evt.getX(), evt.getY()))				return;			if (inCueMode) {				if (sourcePaths.length == 1)					handleSingleSource(evt.getPoint());				else					handleMultipleSources(evt.getPoint());				return;			}			TreePath path = getPathForLocation(evt.getX(), evt.getY());			if (path == null)				return;			if (pointTriggersMove(evt.getPoint())) {				if (canMoveNode(path.getLastPathComponent())) {					int index =						getModel().getIndexOfChild(							path.getParentPath().getLastPathComponent(),							path.getLastPathComponent()						);					TreePath[] paths = new TreePath[] { path };					fireMoveGestureRecognized(paths, path.getParentPath(), index, evt.getPoint());					// if the icon was pressed, then we are in move mode					requestMode = MOVE_REQUEST_MODE;					startCueMode(paths);				}			}		}