if (key.equals(e.key))
if (e.key.equals(key))
  public synchronized V put(K key, V value)  {    int idx = hash(key);    HashEntry<K, V> e = buckets[idx];    // Check if value is null since it is not permitted.    if (value == null)      throw new NullPointerException();    while (e != null)      {        if (key.equals(e.key))          {            // Bypass e.setValue, since we already know value is non-null.            V r = e.value;            e.value = value;            return r;          }        else          {            e = e.next;          }      }    // At this point, we know we need to add a new entry.    modCount++;    if (++size > threshold)      {        rehash();        // Need a new hash value to suit the bigger table.        idx = hash(key);      }    e = new HashEntry<K, V>(key, value);    e.next = buckets[idx];    buckets[idx] = e;    return null;  }