text: public override V remove(object key){if (key == null){return removeNullKey();}int hash = secondaryHash(key.GetHashCode());java.util.HashMap.HashMapEntry<K, V>[] tab = table;int index = hash & (tab.Length - 1);{java.util.HashMap.HashMapEntry<K, V> e = tab[index];java.util.HashMap.HashMapEntry<K, V> prev = null;for (; e != null; prev = e, e = e.next){if (e.hash == hash && key.Equals(e.key)){if (prev == null){tab[index] = e.next;}else{prev.next = e.next;}modCount++;_size--;postRemove(e);return e.value;}}}return default(V);}