Class result = defineClass(name, classbytes, classpathEntry, entry); for (int i = 0; i < hooks.length; i++) hooks[i].recordClassDefine(name, result, classbytes, classpathEntry, entry, this); return result;
return defineClass(name, classbytes, classpathEntry, entry, hooks);
	private Class findClassImpl(String name, ClasspathEntry classpathEntry, ClassLoadingStatsHook[] hooks) {		if (Debug.DEBUG && Debug.DEBUG_LOADER)			Debug.println("BundleClassLoader[" + data + "].findClass(" + name + ")"); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$		String filename = name.replace('.', '/').concat(".class"); //$NON-NLS-1$		BundleEntry entry = classpathEntry.getBundleFile().getEntry(filename);		if (entry == null)			return null;		byte[] classbytes;		try {			classbytes = entry.getBytes();		} catch (IOException e) {			if (Debug.DEBUG && Debug.DEBUG_LOADER)				Debug.println("  IOException reading " + filename + " from " + data); //$NON-NLS-1$ //$NON-NLS-2$			return null;		}		if (Debug.DEBUG && Debug.DEBUG_LOADER) {			Debug.println("  read " + classbytes.length + " bytes from " + filename); //$NON-NLS-1$ //$NON-NLS-2$			Debug.println("  defining class " + name); //$NON-NLS-1$		}		try {			Class result = defineClass(name, classbytes, classpathEntry, entry);			for (int i = 0; i < hooks.length; i++)				hooks[i].recordClassDefine(name, result, classbytes, classpathEntry, entry, this);			return result;		} catch (Error e) {			if (Debug.DEBUG && Debug.DEBUG_LOADER)				Debug.println("  error defining class " + name); //$NON-NLS-1$			throw e;		}	}