public static <T> void checkEquivalence(@Nullable T existing,
                                          @Nullable T fresh,
                                          @NotNull Class<?> providerClass,
                                          @Nullable Computable<? extends T> recomputeValue) {
    String msg = checkValueEquivalence(existing, fresh);
    if (msg != null) {
      reportFailure(existing, fresh, providerClass, recomputeValue, msg);
    }
  }
public static <T> void checkEquivalence(@Nullable T existing,
                                          @Nullable T fresh,
                                          @NotNull Class<?> providerClass,
                                          @Nullable Computable<? extends T> recomputeValue)