question: private void ctrlSelect ( D nodeData ) { int insertionIndex = getInsertionIndex ( nodeData ) ; insertAndSelectNode ( nodeData , insertionIndex , ! nodeData . equals ( selectedNodes . get ( insertionIndex ) ) ) ; }
target:  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.