public static <X extends Throwable> void check(boolean expression, Supplier<? extends X> exceptionSupplier) throws X {
        if (!expression)
            throw exceptionSupplier.get();
    }
@Test(expected = ArithmeticException.class)
    public void check_false() {
        Preconditions.check(false, ArithmeticException::new);
    }