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;
      }
      // System.out.println("ROOT: " + name);
      if (_classNotFoundCache.get(name) != null) {
        return null;
      }
      
      try {
        cl = super.loadClassImpl(name, resolve);
      } catch (ClassNotFoundException e) {
        _classNotFoundCache.put(name, name);
        
        throw e;
      }
      
      if (cl == null) {
        _classNotFoundCache.put(name, name);
      }
      
      return cl;
    }
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