@SuppressWarnings("OptionalGetWithoutIsPresent")
    static <T extends Response> CircuitBreakerRuleWithContent<T> of(
            Iterable<? extends CircuitBreakerRuleWithContent<T>> circuitBreakerRules) {
        requireNonNull(circuitBreakerRules, "circuitBreakerRules");
        checkArgument(!Iterables.isEmpty(circuitBreakerRules), "circuitBreakerRules should not be empty.");
        if (Iterables.size(circuitBreakerRules) == 1) {
            return Iterables.get(circuitBreakerRules, 0);
        }

        @SuppressWarnings("unchecked")
        final Iterable<CircuitBreakerRuleWithContent<T>> cast =
                (Iterable<CircuitBreakerRuleWithContent<T>>) circuitBreakerRules;
        return Streams.stream(cast).reduce(CircuitBreakerRuleWithContent::orElse).get();
    }
Returns a {@link CircuitBreakerRuleWithContent} that combines the specified
{@link CircuitBreakerRuleWithContent}s.
core/src/main/java/com/linecorp/armeria/client/circuitbreaker/CircuitBreakerRuleWithContent.java