static class JavaXClassLoader extends URLClassLoader { S progID; L files; Set loadedClasses = synchroSet(); *(S progID, L files) { super(new URL[0]); this.progID = progID; this.files = files; ctex { for (File f : files) addURL(f.toURI().toURL()); } } protected Class findClass(S name) throws ClassNotFoundException { try { Class c = super.findClass(name); } catch (ClassNotFoundException e) { fail("Class " + name + " not found in " + struct(files) + " (progID=" + progID + ")"); } loadedClasses.add(c); ret c; } }