code: public V put(final int key, final V value) {
  		int index = (key & 0x7FFFFFFF) % elementData.length;
  
  		IntLinkedEntry<V> entry = elementData[index];
  		while (entry != null && key != entry.key) {
  			entry = entry.nextInSlot;
  		}
  
  		if (entry == null) {
  			// Remove eldest entry if instructed, else grow capacity if appropriate
  			IntLinkedEntry<V> eldest = header.after;
  			++elementCount;
  			if (removeEldestEntry(eldest)) {
  				remove(eldest.key);
  			} else {
  				if (elementCount > threshold) {
  					rehash();
  					index = (key & 0x7FFFFFFF) % elementData.length;
  				}
  			}
  			entry = createHashedEntry(key, index);
  		}
  
  		V result = entry.value;
  		entry.value = value;
  		return result;
  	}
docs: Maps the specified key to the specified value.
  
  @param key the key.
  @param value the value.
  @return the value of any previous mapping with the specified key or {@code null} if there was no such
  mapping.