code: private void addEntry(K key, V value) {
      EntryImpl<K, V> entry = _poolFirst;
      if (entry != null) {
        _poolFirst = entry._after;
        entry._after = null;
      } else { // Pool empty.
        entry = new EntryImpl<K, V>();
      }
  
      // Setup entry paramters.
      entry._key = key;
      entry._value = value;
      int index = keyHash(key) & _mask;
      entry._index = index;
  
      // Connects to bucket.
      EntryImpl<K, V> next = _entries[index];
      entry._next = next;
      if (next != null) {
        next._previous = entry;
      }
      _entries[index] = entry;
  
      // Connects to collection.
      if (_mapLast != null) {
        entry._before = _mapLast;
        _mapLast._after = entry;
      } else {
        _mapFirst = entry;
      }
      _mapLast = entry;
  
      // Updates size.
      _size++;
      sizeChanged();
    }
docs: Adds a new entry for the specified key and value.
  
  @param key the entry's key.
  @param value the entry's value.