private Object[] getRules(Map moduleAttributes, Filter filter) {
List matchingRules = new ArrayList();
for (Iterator iter = rules.entrySet().iterator(); iter.hasNext();) {
Map.Entry ruleEntry = (Entry) iter.next();
MapMatcher midm = (MapMatcher) ruleEntry.getKey();
if (midm.matches(moduleAttributes)) {
Object rule = ruleEntry.getValue();
if (filter.accept(rule)) {
matchingRules.add(rule);
}
}