code: public Iterator iterator()
      {
          GBSIterator x = new GBSIterator(this);
          Iterator q = (Iterator) x;
          return q;
      }
docs: Create and return an Iterator positioned on the beginning of the tree.
  
  <p>The Iterator is not actually positioned on the beginning of the
  tree.  It has no position at all.  The first time Iterator.next() is
  invoked it will position itself on the beginning of the tree.</p>