while (it.hasNext()) {
AbstractPolicy policy =
((PolicyCombinerElement)(it.next())).getPolicy();
// make sure that the policy matches the context
MatchResult match = policy.match(context);
if (match.getResult() == MatchResult.INDETERMINATE) {
atLeastOneError = true;
// keep track of the first error, regardless of cause
if (firstIndeterminateStatus == null)
firstIndeterminateStatus = match.getStatus();
} else if (match.getResult() == MatchResult.MATCH) {
// now we evaluate the policy
Result result = policy.evaluate(context);
int effect = result.getDecision();
// this is a little different from DenyOverrides...