class RetryWithAsyncCallback extends AbstractRetry<T, Throwable> implements Retry<T> {

    public RetryWithAsyncCallback<T> onRetryWithMono(Function<? super RetryContext<T>, Mono<?>> onRetryMono) {
        return new RetryWithAsyncCallback<>(retryPredicate, maxIterations, timeout,
            backoff, jitter, backoffScheduler, onRetry, onRetryMono, applicationContext);
    }

      RetryWithAsyncCallback(Predicate<? super RetryContext<T>> retryPredicate,
                           long maxIterations,
                           Duration timeout,
                           Backoff backoff,
                           Jitter jitter,
                           Scheduler backoffScheduler,
                           final Consumer<? super RetryContext<T>> onRetry,
                           Function<? super RetryContext<T>, Mono<?>> onRetryMono,
                           T applicationContext);

}