Example
public abstract class CustomClassLoader extends ClassLoader {

public CustomClassLoader(ClassLoader parent) {
super(parent);
}

public Class loadClass(String name) throws ClassNotFoundException
{
return customCreation(name);
}

protected abstract Class customCreation(String name);
}
Solution
Do not create a new java.lang.ClassLoader type