code: @Override
    public V remove(Object key)
    {
      if (key == null) {
        V value = _nullValue;
        _nullValue = null;
        return value;
      }
  
      int hash = key.hashCode() & _mask;
      int count = _size + 1;
  
      V item = null;
  
      for (; count > 0; count--) {
        item = _values[hash];
  
        if (item == null)
          return null;
  
        if (_keys[hash].equals(key)) {
          _keys[hash] = null;
          _values[hash] = null;
          _size--;
  
          refillEntries(hash);
          break;
        }
  
        hash = (hash + 1) & _mask;
      }
  
      if (count < 0)
        throw new RuntimeException("internal cache error");
  
      return item;
    }
docs: Removes an item from the cache
  
  @param key the key to remove
  
  @return the value removed