public ListNode insertionSortList(ListNode head) {
        if(head == null || head.next == null) return head;
        
        ListNode sorted = null;
        ListNode indicator = head;
        
        while(indicator != null){
        	sorted = insertIntoSortedList(sorted, indicator);
        	indicator = indicator.next;
        }
        
        return sorted;
    }