private RetryRule build(RetryDecision decision) {
        if (decision != RetryDecision.noRetry() &&
            exceptionFilter() == null && responseHeadersFilter() == null &&
            responseTrailersFilter() == null && grpcTrailersFilter() == null &&
            totalDurationFilter() == null) {
            throw new IllegalStateException("Should set at least one retry rule if a backoff was set.");
        }
        final RuleFilter ruleFilter =
                RuleFilter.of(requestHeadersFilter(), responseHeadersFilter(),
                              responseTrailersFilter(), grpcTrailersFilter(),
                              exceptionFilter(), totalDurationFilter(), false);
        return build(ruleFilter, decision, requiresResponseTrailers());
    }
Returns a newly created {@link RetryRule} that never retries.
core/src/main/java/com/linecorp/armeria/client/retry/RetryRuleBuilder.java