code: private Class createClass(String className) throws ClassNotFoundException {
          Class clazz;
          try {
              URLClassLoader classLoader = URLClassLoader.newInstance(new URL[]{root.toURI().toURL()});
              if (log.isDebugEnabled()) {
                  log.debug("Classloader URLs:");
                  for (URL url : classLoader.getURLs()) {
                      log.debug("  " + url.toString());
                  }
              }
  
              clazz = Class.forName(className, true, classLoader);
              return clazz;
  
          } catch (MalformedURLException mue) {
              String info = "Could not load the " + description + " object " + className
                      + ". Malformed URL: ";
              info += mue.getMessage();
              throw new ClassNotFoundException(info, mue);
  
          } catch (ExceptionInInitializerError eiie) {
              String info = "Could not load the " + description + " object " + className
                      + ". Could not initialize static object in server: ";
              info += eiie.getMessage();
              throw new ClassNotFoundException(info, eiie);
  
          } catch (LinkageError le) {
              String info = "Could not load the " + description + " object " + className
                      + ". This object is depending on a class that has been changed after compilation ";
              info += "or a class that was not found: ";
              info += le.getMessage();
              throw new ClassNotFoundException(info, le);
  
          } catch (ClassNotFoundException cnfe) {
              String info = "Could not find the " + description + " object " + className + ": ";
              info += cnfe.getMessage();
              throw new ClassNotFoundException(info, cnfe);
          }
      }
docs: Dynamically loads the named class (fully qualified classname).