code: private HashtableEntry findEntry(Object key, int hashcode, int retrieveMode, boolean checkExpired, long current, int tableid)
                      throws IOException,
                      EOFException,
                      FileManagerException,
                      ClassNotFoundException,
                      HashtableOnDiskException {
  
          long previous = 0;
  
          long next = 0;
          int hash = 0;
  
          initReadBuffer(current);
          next = headerin.readLong();
          hash = headerin.readInt();
  
          while (current != 0) {
              if (hash == hashcode) { // hash the same?
                  // 
                  // Need to finish collision resolution and maybe return the object
                  //
                  HashtableEntry entry = readEntry2(current, next, hash, previous, retrieveMode, checkExpired, tableid, key, null); //493877
                  if (entry != null) { // 493877 if entry is NOT null, the entry is found.
                      return entry;
                  }
              }
  
              collisions++;
              //
              // Try for next object in bucket
              //
              previous = current;
              current = next;
  
              if (current != 0) { // optimize - don't read if we know we can't use it
                  initReadBuffer(current);
                  next = headerin.readLong();
                  hash = headerin.readInt();
              }
  
          }
  
          //
          // If we fall through we did not find it
          //
          return null;
      }
docs: ************************************************************************
  Search disk for the indicated entry and return it and its
  predecessor if any.
  ***********************************************************************