static CircuitBreakerRule build(
            BiFunction<? super ClientRequestContext, ? super Throwable, Boolean> ruleFilter,
            CircuitBreakerDecision decision, boolean requiresResponseTrailers) {
        final CompletableFuture<CircuitBreakerDecision> decisionFuture;
        if (decision == CircuitBreakerDecision.success()) {
            decisionFuture = SUCCESS_DECISION;
        } else if (decision == CircuitBreakerDecision.failure()) {
            decisionFuture = FAILURE_DECISION;
        } else if (decision == CircuitBreakerDecision.ignore()) {
            decisionFuture = IGNORE_DECISION;
        } else {
            decisionFuture = NEXT_DECISION;
        }

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

            @Override
            public boolean requiresResponseTrailers() {
                return requiresResponseTrailers;
            }
        };
    }
Returns a newly created {@link CircuitBreakerRule} that ignores a {@link Response} when the rule matches.
core/src/main/java/com/linecorp/armeria/client/circuitbreaker/CircuitBreakerRuleBuilder.java