public bool MoveNext()
 {
     if (StayHere)
     {
         StayHere = false;
         return(head != null);
     }
     current = current.next;
     if (current == null)
     {
         return(false);
     }
     if (current.data == null)
     {
         return(false);
     }
     return(true);
 }
 public void Reset()
 {
     current  = head;
     StayHere = true;
 }
 public ListIterator(AbstractList.Node head)
 {
     current   = head;
     this.head = head;
 }