V (@NotNull Object key) { HardKey<K,V> hardKey = createHardKey(key); try { ValueReference<K, V> valueReference = myMap.get(hardKey); return valueReference == null ? null : valueReference.get(); } finally { hardKey.clear(); } }