if (bytecode != null) {
// Use a protectionDomain to associate the codebase with the
// class.
// Associate the codebase with the class with a protection domain
ProtectionDomain pd = (ProtectionDomain) protectionDomainMap.get(bytecode.codebase);
if (pd == null) {
ProtectionDomain cd = this.getClass().getProtectionDomain();
URL url = cd.getCodeSource().getLocation();
try {
url = new URL("jar:" + url + "!/" + bytecode.codebase);
} catch (MalformedURLException mux) {
mux.printStackTrace(System.out);
}
CodeSource source = new CodeSource(url, (CodeSigner[]) null);
pd = new ProtectionDomain(source, null, this, null);
protectionDomainMap.put(bytecode.codebase, pd);
}
return defineClass(name, bytecode.bytes, 0, bytecode.length, pd);
}
throw new ClassNotFoundException(name);