code: static boolean checkForPossibleIndexChange(
                                                int             v1,
                                                int             v2,
                                                Throwable       exc,
                                                String          msg)
      {
          if (v1 != v2)
              return pessimisticNeeded;
          else
          {
              GBSTreeException x = new GBSTreeException(
                                                       msg + ", v1 = " + v1, exc);
              throw x;
          }
      }
docs: Process an exception that may have occurred while the index was
  changing.
  
  <p>An optimistic search hit an exception that may have been caused by
  a change in the index in mid-search.  The two parameters v1 and v2
  represent the index vno at the time the search started and at the
  time the exception was caught.  If the two are different then the
  index changed in mid-search and we assume that was the reason for the
  exception.  We return "pessimisticNeeded" which indicates that a
  pessimistic search is now required.  If the index structure is,
  indeed, damaged then the pessimistic search will encounter the same
  exception.  If the two version numbers are the same then the index
  did not change in mid-search and the exception is an indication of
  either a programming error or a fatal corruption of the index.</p>
  
  @param v1  The version number at the time the search started.
  @param v2  The version number at the time the exception was caught.
  @param exc The Exception that was caught.
  @param msg A message to store with the new exception.
  
  @return pessimisticNeeded if the version numbers have changed and
  a pessimistic search is required.