public static @NotNull <T> Hash.Strategy<T> getCanonicalStrategy() {
    //noinspection unchecked
    return (Hash.Strategy<T>)CanonicalObjectStrategy.INSTANCE;
  }
public static @NotNull <T> Hash.Strategy<T> getCanonicalStrategy()