code: private void findNextBeforeEof(
                                    DeleteStack    stack)
      {
          boolean state = pessimisticNeeded;
  
          if (_last1._vno == _index.vno())
              state = optimisticGetNext1(stack);
  //    else // vno (and perhaps xno) changed
  //      state = optimisticGetNext2(stack);
          if (state == pessimisticNeeded)
              pessimisticGetNext(stack);
      }
docs: Find the next key in the index.
  
  <p>Start by using a non-locking, optimistic search.  If this
  doesn't work then switch to a pessimistic search which locks the
  index.  The optimistic search used depends on whether or not vno
  has changed since the last key was given out.  If it has not
  changed use optimisticGetNext1().  Otherwise use
  optimistGetNext2().</p>
  
  <p>On return the next entry in the index (if any) is stored
  in _current1.<p>
  
  @param stack The stack to use to record the traversal.