text: public virtual bool containsKey(object key){lock (this){int hash = key.GetHashCode();hash ^= ((int)(((uint)hash) >> 20)) ^ ((int)(((uint)hash) >> 12));hash ^= ((int)(((uint)hash) >> 7)) ^ ((int)(((uint)hash) >> 4));java.util.Hashtable.HashtableEntry<K, V>[] tab = table;{for (java.util.Hashtable.HashtableEntry<K, V> e = tab[hash & (tab.Length - 1)]; e!= null; e = e.next){K eKey = e.key;if (Sharpen.Util.Equals(eKey, key) || (e.hash == hash && key.Equals(eKey))){return true;}}}return false;}}