### Question:
ConditionalRetryBuilder { public ConditionalRetryBuilder exception(Class<? extends Throwable> throwable) { Assert.isNotNull(throwable, "throwable must not be null"); RetryCondition condition = new ExceptionCondition(throwable); if (retryCondition == null) { this.retryCondition = condition; } else { this.retryCondition = this.retryCondition.or(condition); } return this; } ConditionalRetryBuilder(int maxAttempts, Logger logger, ExceptionHandler exceptionHandler); ConditionalRetryBuilder statusCode(int statusCode); ConditionalRetryBuilder exception(Class<? extends Throwable> throwable); ConditionalRetryBuilder interval(long interval, TimeUnit timeUnit); ConditionalRetryBuilder interval(RetryInterval interval); ConditionalRetryBuilder multiplier(long multiplier); ConditionalRetryBuilder maxInterval(long maxInterval, TimeUnit timeUnit); ConditionalRetryBuilder useRetryAfter(); ConditionalRetryBuilder condition(RetryCondition condition); Retry build();  }### Answer:
@Test void exception_cannotBeNull() { assertThrows(IllegalArgumentException.class, () -> ConditionalRetry.builder(1, mock(Logger.class), new RethrowExceptionHandler()) .exception(null)); }