private static Node insertRecursive(Node headNode, java.lang.Comparable newItem) { if ( (headNode == null) || (newItem.compareTo(headNode.getItem()) < 0) ) { // base case: insert newItem at the beginning of the // linked list that nextNode references Node newNode = new Node(newItem, headNode); headNode = newNode; } else { //insert into rest of linked list Node nextNode = insertRecursive(headNode.getNext(),newItem); headNode.setNext(nextNode); } // end if return headNode; } // end insertRecursive