</BUG>
return this;
}
public CircuitBreaker failOn(Predicate<? extends Throwable> failurePredicate) {
Assert.notNull(failurePredicate, "failurePredicate");
<BUG>failureConditionChecked = true;

failurePredicates.add(Predicates.failurePredicateFor(failurePredicate));
</BUG>
return this;

return failOn(Arrays.asList(failures));
}
public CircuitBreaker failOn(List<Class<? extends Throwable>> failures) {
Assert.notNull(failures, "failures");
Assert.isTrue(!failures.isEmpty(), "failures cannot be empty");
failuresChecked = true;
failureConditions.add(Predicates.failurePredicateFor(failures));
return this;
}
public CircuitBreaker failOn(Predicate<? extends Throwable> failurePredicate) {
Assert.notNull(failurePredicate, "failurePredicate");
failuresChecked = true;
failureConditions.add(Predicates.failurePredicateFor(failurePredicate));
return this;
