text: public override V put(K key, V value){lock (this){if ((object)value == null){throw new System.ArgumentNullException();}int hash = secondaryHash(key.GetHashCode());java.util.Hashtable.HashtableEntry<K, V>[] tab = table;int index = hash & (tab.Length - 1);java.util.Hashtable.HashtableEntry<K, V> first = tab[index];{for (java.util.Hashtable.HashtableEntry<K, V> e = first; e != null; e = e.next){if (e.hash == hash && key.Equals(e.key)){V oldValue = e.value;e.value = value;return oldValue;}}}modCount++;if (_size++ > threshold){rehash();tab = doubleCapacity();index = hash & (tab.Length - 1);first = tab[index];}tab[index] = new java.util.Hashtable.HashtableEntry<K, V>(key, value, hash, first);return default(V);}}