private static <K> boolean isEqual(@NotNull K key1, K key2, @NotNull HashingStrategy<? super K> hashingStrategy) {
    return key1 == key2 || key2 != null && hashingStrategy.equals(key1, key2);
  }
private static <K> boolean isEqual(@NotNull K key1, K key2, @NotNull HashingStrategy<? super K> hashingStrategy)