code: private void findNextAfterEof(
                                   DeleteStack    stack)
      {
          if ( !_eof )
              throw new RuntimeException("findNextAfterEof called when _eof false.");
  
          if (_current1._vno != _index.vno())
          {
              boolean state = pessimisticNeeded;
              state = optimisticSearchNext(stack);
              if (state == pessimisticNeeded)
                  pessimisticSearchNext(stack);
          }
      }
docs: Find the next key in the index after an eof condition.
  
  <p>The vno from the time of the eof condition is stored in
  _current1.  If the vno in the index has not changed then the
  iterator is still stuck at the end and there is nothing to do.  If
  the vno in the index has changed then we do an optimistic search to
  re-establish position followed by a pessimistic search if the
  optimistic search failed.</p>