The code for this example that adds a new node to the front of the list was:
Node tmp = new Node(3); tmp.next = head.next; head.next = tmp;
Does this work for the boundary case where the list is empty??