public V get(Object key) {if (key == null) {HashMapEntry<K, V> e = entryForNullKey;return e == null ? null : e.value;}int hash = key.hashCode();hash ^= (hash >>> 20) ^ (hash >>> 12);hash ^= (hash >>> 7) ^ (hash >>> 4);HashMapEntry<K, V>[] tab = table;for (HashMapEntry<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 e.value;}}return null;}

public override V get(object key){if (key == null){java.util.HashMap.HashMapEntry<K, V> e = entryForNullKey;return e == null ? default(V) : e.value;}int hash = key.GetHashCode();hash ^= ((int)(((uint)hash) >> 20)) ^ ((int)(((uint)hash) >> 12));hash ^= ((int)(((uint)hash) >> 7)) ^ ((int)(((uint)hash) >> 4));java.util.HashMap.HashMapEntry<K, V>[] tab = table;{for (java.util.HashMap.HashMapEntry<K, V> e_1 = tab[hash & (tab.Length - 1)]; e_1!= null; e_1 = e_1.next){K eKey = e_1.key;if (Sharpen.Util.Equals(eKey, key) || (e_1.hash == hash && key.Equals(eKey))){return e_1.value;}}}return default(V);}
