public RetryContextImpl(final Instant startTimestamp, final Long attempt, final Throwable firstError, final Object firstParameter, final Throwable latestError, final Object latestParameter, final CompletableFuture<R> result, final Function<P, CompletionStage<R>> f, final AutoCloseable closeable, final BiConsumer<Runnable, Duration> scheduler) { this.attempt = attempt; this.startTimestamp = startTimestamp; this.firstError = filterOutCompletionException(firstError); this.latestError = filterOutCompletionException(latestError); this.firstParameter = firstParameter; this.latestParameter = latestParameter; this.result = result; this.f = f; this.closeable = closeable; this.scheduler = scheduler; }