code: public Collection<Rule> findRules(Event triggerEvent) {
  		ArrayList<Rule> matches = new ArrayList<Rule>();
  
  		for (Rule rule : rules) {
  			if (rule.checkLastExpressionForDetectionPoint(triggerEvent.getDetectionPoint())) {
  				matches.add(rule);
  			}
  		}
  
  		return matches;
  	}
docs: Finds all {@link Rule}s that could have been triggered by the {@link Event}. A
  trigger {@link Event} must be the final {@link Event} so if the corresponding
  {@link MonitorPoint} is in the {@link Rule}'s final {@link Expression} it should
  be evaluated.
  
  @param triggerEvent the {@link Event} that triggered the {@link Rule}
  @return a list of {@link Rule}s applicable to triggerEvent