private void ctrlSelect(D nodeData){
  int insertionIndex=getInsertionIndex(nodeData);
  insertAndSelectNode(nodeData,insertionIndex,!nodeData.equals(selectedNodes.get(insertionIndex)));
}

private void ctrlSelect ( D nodeData ) { int insertionIndex = getInsertionIndex ( nodeData ) ; insertAndSelectNode ( nodeData , insertionIndex , ! nodeData . equals ( selectedNodes . get ( insertionIndex ) ) ) ; }
if ctrl is depressed then we simply search for the insertion point of the specified node in the already sorted select list . if the node is already present , then we remove it and unselect the node . if it was not present , then we insert the node at the appropriate spot in the array and select it .
