public Node sort(Node head){
        Node result = null;
        Node curr = head;
        Node prevCurr = null;
        while(curr != null){
            prevCurr = curr;
            curr = curr.next;
            prevCurr.next = null;
            result = insert(result,prevCurr);
        }
        return result;
    }
http://www.geeksforgeeks.org/given-a-linked-list-which-is-sorted-how-will-you-insert-in-sorted-way/
Test cases:
0 nodes
1 nodes 
2 or more nodes
already sorted
reverse sorted
negative positive numbers
src/com/interview/linklist/InsertionSortLinkList.java