private @NotNull HardKey<K,V> createHardKey(@NotNull Object o) {
    //noinspection unchecked
    K key = (K)o;
    //noinspection unchecked
    HardKey<K,V> hardKey = (HardKey<K, V>)HARD_KEY.get();
    hardKey.set(key, myHashingStrategy.hashCode(key));
    return hardKey;
  }
private @NotNull HardKey<K,V> createHardKey(@NotNull Object o)