private static @NotNull <K> Hash.Strategy<K> adaptStrategy(@NotNull HashingStrategy<? super K> strategy) {
    return new FastUtilHashingStrategies.SerializableHashStrategy<K>() {
      @Override
      public int hashCode(@Nullable K o) {
        return strategy.hashCode(o);
      }

      @Override
      public boolean equals(@Nullable K a, @Nullable K b) {
        return strategy.equals(a, b);
      }
    };
  }
private static @NotNull <K> Hash.Strategy<K> adaptStrategy(@NotNull HashingStrategy<? super K> strategy)