code: @Override
    public Class<?> loadClassImpl(String name, boolean resolve)
      throws ClassNotFoundException
    {
      // The JVM has already cached the classes, so we don't need to
      Class<?> cl = findLoadedClass(name);
  
      if (cl != null) {
        if (resolve) {
          resolveClass(cl);
        }
        
        return cl;
      }
  
      String className = name;
      
      if (_hasBootClassPath) {
        className = name.replace('.', '/') + ".class";
  
        if (findPath(className) == null) {
          return null;
        }
      }
  
      try {
        return super.loadClassImpl(name, resolve);
      } catch (Error e) {
        className = name.replace('.', '/') + ".class";
        
        if (findPath(className) != null) {
          String msg =  (e + "\n  while loading " + name + " in " + this
                         + "\n  which exists in " + findPath(className)
                         + "\n  check for missing dependencies");
          
          log().warning(msg);
        }
        
        throw e;
      } catch (ClassNotFoundException e) {
        className = name.replace('.', '/') + ".class";
        
        if (findPath(className) != null) {
          String msg =  (e + "\n  " + name + " in " + this
              + "\n  exists in " + findPath(className)
              + "\n  check for missing dependencies");
          
          log().fine(msg);
          
          throw new ClassNotFoundException(e.getMessage() + "\n" + msg, e);
        }
        
        throw e;
      }
    }
docs: Load a class using this class loader
  
  @param name the classname to load
  @param resolve if true, resolve the class
  
  @return the loaded classes