e = filesToCompile.objectEnumerator();
e = classFiles.objectEnumerator();
    void checkAndCompileAllClasses() {        CacheEntry cacheEntry;        Enumeration e = _filesToWatch.objectEnumerator();        NSMutableArray filesToCompile  = new NSMutableArray();        while(e.hasMoreElements()) {            cacheEntry = (CacheEntry)e.nextElement();            if(cacheEntry.needsRefresh()) {                filesToCompile.addObject(cacheEntry);            }        }        if(filesToCompile.count() > 0) {            Compiler compiler = new Compiler(filesToCompile.objects(), _destinationPath);            if(compiler.compile()) {                CompilerClassLoader cl = null;                e = filesToCompile.objectEnumerator();                while(e.hasMoreElements()) {                    cacheEntry = (CacheEntry)e.nextElement();                    String className = cacheEntry.classNameWithPackage();                    try {                        if(cl == null)			    cl = new CompilerClassLoader(_destinationPath);                        //   Object o = Class.forName(className).newInstance();                        Class class_ = cl.loadClass(className, true);                        // the whole magic is in these two lines                        setClassForName(class_, className);                        com.webobjects.appserver.WOApplication.application()._removeComponentDefinitionCacheContents();                        cacheEntry.update();                        // sparkle dust ends here			NSNotificationCenter.defaultCenter().postNotification(CompilerProxyDidCompileClassesNotification, className);                    } catch(ClassNotFoundException ex) {                        throw new RuntimeException("Could not load the class "+ className + " with exception:" + ex.toString());                    }                }            }        }    }