code: private boolean optimisticSearchNext(
                                          DeleteStack    stack)
      {
          int v1 = _index.vno();
          int x1 = _index.xno();
  
          if ((v1&1) != 0)
              return pessimisticNeeded;
          synchronized(this)
          {
          }
  
          try
          {
              internalSearchNext(stack, v1, x1);
          }
          catch (NullPointerException npe)
          {
              //No FFDC Code Needed.
              _nullPointerExceptions++;
              return GBSTree.checkForPossibleIndexChange(v1, _index.vno(), npe, "optimisticSearchNext");
          }
          catch (OptimisticDepthException ode)
          {
              //No FFDC Code Needed.
              _optimisticDepthExceptions++;
              return GBSTree.checkForPossibleIndexChange(v1, _index.vno(), ode, "optimisticSearchNext");
          }
  
          if (v1 != _index.vno())
          {
              _current1.setVersion(1);
              return pessimisticNeeded;
          }
  
          _optimisticSearchNexts++;
          return optimisticWorked;
      }
docs: Optimistically find the next key in the index after an eof condition.