public static Stella_Object stellaHashTableLookup(StellaHashTable self, Stella_Object key) {
    { KvCons[] table = self.theTable;
      KvCons bucket = null;

      if (table == null) {
        return (null);
      }
      if (self.equalTestP) {
        bucket = table[(((key.equalHashCode()) & 0x7FFFFFFF) % (self.size))];
        while (bucket != null) {
          if (Stella_Object.equalP(bucket.key, key)) {
            return (bucket.value);
          }
          else {
            bucket = bucket.rest;
          }
        }
      }
      else {
        bucket = table[(((key.hashCode_()) & 0x7FFFFFFF) % (self.size))];
        while (bucket != null) {
          if (Stella_Object.eqlP(bucket.key, key)) {
            return (bucket.value);
          }
          else {
            bucket = bucket.rest;
          }
        }
      }
      return (null);
    }
  }