static RetryRule build(BiFunction<? super ClientRequestContext, ? super Throwable, Boolean> ruleFilter,
                           RetryDecision decision, boolean requiresResponseTrailers) {
        final CompletableFuture<RetryDecision> decisionFuture;
        if (decision == RetryDecision.DEFAULT) {
            decisionFuture = DEFAULT_DECISION;
        } else {
            decisionFuture = UnmodifiableFuture.completedFuture(decision);
        }

        return new RetryRule() {
            @Override
            public CompletionStage<RetryDecision> shouldRetry(ClientRequestContext ctx,
                                                              @Nullable Throwable cause) {
                return ruleFilter.apply(ctx, cause) ? decisionFuture : NEXT_DECISION;
            }

            @Override
            public boolean requiresResponseTrailers() {
                return requiresResponseTrailers;
            }
        };
    }
Returns a newly created {@link RetryRule} that never retries.
core/src/main/java/com/linecorp/armeria/client/retry/RetryRuleBuilder.java