public ListNode removeFirst(ListNode head) { if (head == null) throw new NoSuchElementException(); ListNode temp = head.getNext(); head.setNext(null); return temp; } public int size(ListNode head) { for(int i = 0; i <= head.nodeCount; i++); return i; } public int size(ListNode head, Integer i) { if(i < head.nodeCount) size(head, ++i); return i; } public ListNode add(ListNode head, Object value) { ListNode newNode = new ListNode(value, null); if (head == null) head = newNode; else { ListNode node = head; while (node.getNext() != null) node = node.getNext(); node.setNext(newNode); } return head; } public ListNode concatenateSTRINGS(lISTnODE HEAD)