docs: public final V put(K key, V value) {
  		final int hash = hash(key);
  		final int slot = indexOf (hash);
  
  		// search the chain from the slot
  		for (Entry<K, V> e = table[slot]; e != null; e = e.next) {
  			Object k;
  			if (e.hashCode == hash && ((k = e.key) == key || key.equals(k))) {
  				// found match
  				V old = e.value;
  				e.value = value;
  				return old;
  			}
  		}
  
  		// no match, insert a new value
  		insertNewEntry(hash, key, value, slot);
  		return null;
  	}