private final Class loadClass2 ( String name ) throws ClassNotFoundException { Class z = findLoadedClass ( name ) ; // Look for pre-existing class if ( z != null ) return z ; if ( _weaver == null ) _weaver = new Weaver ( ) ; z = _weaver . weaveAndLoad ( name , this ) ; // Try the Happy Class Loader if ( z != null ) { // Occasionally it's useful to print out class names that are actually Weaved. // Leave this commented out println here so I can easily find it for next time. // System.out.println("WEAVED: " + name); return z ; } z = getParent ( ) . loadClass ( name ) ; // Try the parent loader. Probably the System loader. if ( z != null ) return z ; return z ; }
Run the class lookups in my favorite non - default order .