public Class<?> fastFindClass(final String name) {
Class<?> cls = findLoadedClass(name);
if (cls == null) {
final byte[] clazzBytes = this.store.read(convertClassToResourcePath(name));
if (clazzBytes != null) {
String pkgName = name.substring(0,
name.lastIndexOf('.'));
if (!existingPackages.contains(pkgName)) {
synchronized (this) {
if (getPackage(pkgName) == null) {
definePackage(pkgName,
"", "", "", "", "", "",
null);
}
existingPackages.add(pkgName);
}
}
cls = super.defineClass(name, clazzBytes);
}
if (cls != null) {
resolveClass(cls);
}
}
return cls;
}