class DoublyLinkedList implements Iterable<T> {

    public ListNode2<T> addAfter(ListNode2<T> node, T value)
    {
        ListNode2<T> newNode = new ListNode2<T>(value);
        addAfter(node, newNode);
        return newNode;
    }

}