// This is the only the top-level grouping algorithm // It returns a dict with two values // an array of DRRecordGroups and a list of all the DRCriteria found // keys: 'groups', 'criteriaList': // public NSMutableDictionary childrenFromGroupCriteriaList() { DRCriteria crit; NSArray crits = _masterCriteria.criteriaLookupDict().allValues(); Enumeration anEnum = crits.objectEnumerator(); NSMutableDictionary recGrpDict = new NSMutableDictionary(); while (anEnum.hasMoreElements()) { crit = (DRCriteria) anEnum.nextElement(); DRRecordGroup recGrp = DRRecordGroup.withCriteriaGroupParent(crit, this, null); recGrpDict.setObjectForKey(recGrp, crit.keyDesc()); } return recGrpDict; }