ruleDecodeLog.info("Got dictionary for file: " + modelFile + "\n\n");
ruleDecodeLog.debug("Got dictionary for file: " + modelFile + "\n\n");
    protected void mergeFile(File modelFile) {        if(log.isDebugEnabled()) log.debug("Merging rule file: "+modelFile.getPath());        setCurrentFile(modelFile);        if(ruleDecodeLog.isDebugEnabled()) {            try {                NSDictionary dic = Services.dictionaryFromFile(modelFile);                ruleDecodeLog.info("Got dictionary for file: " + modelFile + "\n\n");                for (Enumeration e = ((NSArray)dic.objectForKey("rules")).objectEnumerator(); e.hasMoreElements();) {                    NSDictionary aRule = (NSDictionary)e.nextElement();                    NSMutableDictionary aRuleDictionary = new NSMutableDictionary(aRule, "rule");                    EOKeyValueUnarchiver archiver = new EOKeyValueUnarchiver(aRuleDictionary);                    try {                        addRule((Rule)archiver.decodeObjectForKey("rule"));                    } catch (Exception ex) {                        ruleDecodeLog.error("Bad rule: " + aRule);                    }                }            } catch (IOException except) {                ruleDecodeLog.error("Could not load rule file: " + except.getMessage());            }        }        super.mergeFile(modelFile);        setCurrentFile(null);        // CHECKME: Don't think this is needed anymore        ERXExtensions.forceGC(1);    }