final RetryExecutor executor = new AsyncRetryExecutor(schedulerMock);
given(serviceMock.sometimesFails()).
willThrow(
new IllegalArgumentException("First"),
new IllegalStateException("Second"),
new AbortRetryException()
);
//when
final CompletableFuture<String> future = executor.getWithRetry(serviceMock::sometimesFails);