public static IEnumerator ResolvePolicyGroups (Evidence evidence)
{
if (evidence == null)
throw new ArgumentNullException ("evidence");
ArrayList al = new ArrayList ();
// Note: can't call PolicyHierarchy since ControlPolicy isn't required to resolve policies
IEnumerator ple = Hierarchy;
while (ple.MoveNext ()) {
PolicyLevel pl = (PolicyLevel) ple.Current;
CodeGroup cg = pl.ResolveMatchingCodeGroups (evidence);
al.Add (cg);
}
return al.GetEnumerator ();
}