Both are probably possible in this case. I did change to overriding the underlying `loadClass` method as that gets called directly when this classloader is a parent.

I think overriding `loadClass` is the normal approach here to prevent the parent-first delegation that happens before falling back to `findClass`, while overriding `findClass` is for creating new types of classloaders (and that should still play nicely with parent-first loading).