index += indexModifier;
		protected void handleSingleSource(Point initPoint) {			TreePath parentPath = null;			TreePath sourcePath = sourcePaths[0];			// -1 indicates that the the parent wasn't expanded. It is up to			// the CueGestureListener to determine where in the tree the node is to			// be added/moved			int index = -1;			if (!lastPathWasParent) {				// if the last path wasn't the new parent and the current path				// was expanded, then the new position is the first child of				// current path				if (isExpanded(currentPath)) {					parentPath = currentPath;					index = 0;				} else {					// if we are on the same branch...					if (currentPath.getParentPath() == sourcePath.getParentPath()) {						int newIndex = getModel().getIndexOfChild(							currentPath.getParentPath().getLastPathComponent(),							currentPath.getLastPathComponent()						);						int oldIndex = getModel().getIndexOfChild(							sourcePath.getParentPath().getLastPathComponent(),							sourcePath.getLastPathComponent()						);						// if the old index is the same as the new index						// and we are still on the same branch, then						// do nothing and stop cue mode						if (oldIndex == newIndex) {							stopCueMode();							return;						}					}					index = getModel().getIndexOfChild(							currentPath.getParentPath().getLastPathComponent(),							currentPath.getLastPathComponent()					);					if (sourcePath.getParentPath() == null) {						index++;					}					parentPath = currentPath.getParentPath();				}			} else {				parentPath = currentPath;			}			// if the path was above the top path in the tree then the index			// is 0			if (aboveTopPath) {				index = 0;			}	//		if (triggersPath)	//			triggerPath(currentPath, initPoint.y, 5);			if (requestMode == MOVE_REQUEST_MODE) {				fireMoveGestureCompleted(sourcePath, parentPath, index, initPoint);			} else {				fireAddGestureCompleted(sourcePath, parentPath, index, initPoint);			}			stopCueMode();		}