
class ListForwardIterator {

  List _list;
  ListNode _next;

  ListForwardIterator( List list ) {
    _list = list;
    _next = _list.head().getNext();
  }

  boolean hasMoreNodes() {
      return _next != _list.head();
  }

  ListNode nextNode() {
    if ( !hasMoreNodes() ) {
      return null;
    }

    ListNode node = _next;
    _next = _next.getNext();

    return node;
  }

}
