@Test
public void shouldPropagateExceptions() throws Exception {

  final RuntimeException expected = new RuntimeException("expected");
  loggingInit =
      new LoggingInit<>(
          new Init<String, Integer>() {
            @Nonnull
            @Override
            public First<String, Integer> init(String model) {
              throw expected;
            }
          },
          logger);
  assertThatThrownBy(() -> loggingInit.init("hi")).isEqualTo(expected);
}