public Class plainClassForName(String name) throws ClassNotFoundException {
  Class c=null;
  try {
    if (externalClassLoader != null)     c=externalClassLoader.loadClass(name);
 else     c=Class.forName(name);
    cacheClassInfo(name,c);
  }
 catch (  NoClassDefFoundError e) {
    throw noClassDefFound(name,e);
  }
  return c;
}

public Class plainClassForName ( String name ) throws ClassNotFoundException { Class c = null ; try { if ( externalClassLoader != null ) c = externalClassLoader . loadClass ( name ) ; else c = Class . forName ( name ) ; cacheClassInfo ( name , c ) ; } catch ( NoClassDefFoundError e ) { throw noClassDefFound ( name , e ) ; } return c ; }
perform a plain class . forname ( ) or call the externally provided classloader . if a bshclassmanager implementation is loaded the call will be delegated to it , to allow for additional hooks . < p / > this simply wraps that bottom level class lookup call and provides a central point for monitoring and handling certain java version dependent bugs , etc .
