
class ListForwardIterator {

  List _list;
  ListNode _next;

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

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

  ListNode nextNode() {
    if ( _list.isEmpty() ) {
      return null;
    }

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

}
