* @return whether the condition is satisfied
*/
@Override
public boolean evaluate(Condition condition, long failureCount) {
boolean satisfied = evaluator.evaluate(condition, failureCount);
Object notification = satisfied ? new ConditionSatisfied(condition, failureCount) : new ConditionUnsatisfied(condition, failureCount + 1);
publisher.publish(notification);
return satisfied;
}