in src/main/java/com/spotify/futures/AsyncRetrier.java [123:137]
private <T> void handleFailure(final SettableFuture<T> future,
final Supplier<ListenableFuture<T>> code,
final int retries,
final long delay, final TimeUnit timeUnit,
final Predicate<T> retryCondition,
Throwable t) {
if (retries > 0) {
executorService.schedule(
() -> startRetry(future, code, retries - 1, delay, timeUnit, retryCondition),
delay,
timeUnit);
} else {
future.setException(t);
}
}