code: public void recordConditionEvaluation(String source, Condition condition,
  			ConditionOutcome outcome) {
  		Assert.notNull(source, "Source must not be null");
  		Assert.notNull(condition, "Condition must not be null");
  		Assert.notNull(outcome, "Outcome must not be null");
  		this.unconditionalClasses.remove(source);
  		if (!this.outcomes.containsKey(source)) {
  			this.outcomes.put(source, new ConditionAndOutcomes());
  		}
  		this.outcomes.get(source).add(condition, outcome);
  		this.addedAncestorOutcomes = false;
  	}
docs: Record the occurrence of condition evaluation.
  @param source the source of the condition (class or method name)
  @param condition the condition evaluated
  @param outcome the condition outcome