public synchronized boolean containsKey(Object key) {int hash = key.hashCode();hash ^= (hash >>> 20) ^ (hash >>> 12);hash ^= (hash >>> 7) ^ (hash >>> 4);HashtableEntry<K, V>[] tab = table;for (HashtableEntry<K, V> e = tab[hash & (tab.length - 1)];e != null; e = e.next) {K eKey = e.key;if (eKey == key || (e.hash == hash && key.equals(eKey))) {return true;}}return false;}

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;}}
