private MatchResult evaluateMatch(List<AttributeValue> inputs, EvaluationCtx context) {
// first off, evaluate the function
EvaluationResult result = function.evaluate(inputs, context);
// if it was indeterminate, then that's what we return immediately
if (result.indeterminate())
return new MatchResult(MatchResult.INDETERMINATE, result.getStatus());
// otherwise, we figure out if it was a match
BooleanAttribute bool = (BooleanAttribute) (result.getAttributeValue());