docs: public V remove(final Object key)
      {
          final Object[] entries = this.entries;
          final int mask = entries.length - 1;
          int keyIndex = Hashing.evenHash(key.hashCode(), mask);
  
          Object oldValue = null;
          while (entries[keyIndex + 1] != null)
          {
              if (entries[keyIndex] == key || entries[keyIndex].equals(key))
              {
                  oldValue = entries[keyIndex + 1];
                  entries[keyIndex] = null;
                  entries[keyIndex + 1] = null;
                  size--;
  
                  compactChain(keyIndex);
  
                  break;
              }
  
              keyIndex = next(keyIndex, mask);
          }
  
          return unmapNullValue(oldValue);
      }