code: @Override
      protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
  	// First, check if the class has already been loaded
  	Class c = findLoadedClass(name);
  	if (c == null) {
  	    c = findClassEL(name);
  	    if (c == null) {
  		c = pcl.loadClass(name);
  	    }
  	}
  	if (resolve) {
  	    resolveClass(c);
  	}
  	return c;
      }
docs: Loads the class with the specified name. The default implementation of this method searches for
  classes in the following order:
  <p>
  
  <ol>
  <li>Call {@link #findLoadedClass(String)} to check if the class has already been loaded.
  <p>
  <li>Call the <code>loadClass</code> method on the parent class loader. If the parent is
  <code>null</code> the class loader built-in to the virtual machine is used, instead.
  <p>
  <li>Call the {@link #findClass(String)} method to find the class.
  <p>
  </ol>
  
  If the class was found using the above steps, and the <code>resolve</code> flag is true, this
  method will then call the {@link #resolveClass(Class)} method on the resulting class object.
  <p>
  From the Java 2 SDK, v1.2, subclasses of ClassLoader are encouraged to override
  {@link #findClass(String)}, rather than this method.
  <p>
  
  @param name the name of the class
  @param resolve if <code>true</code> then resolve the class
  @return the resulting <code>Class</code> object
  @exception ClassNotFoundException if the class could not be found