docs: public static Class<?> loadClass(String className,
                                       ClassLoader classLoader) {
          Class cls = (Class) classes.get( className );
          if ( cls == null ) {
              try {
                  cls = Class.forName( className );
              } catch ( Exception e ) {
                  //swallow
              }
  
              //ConfFileFinder
              if ( cls == null && classLoader != null ) {
                  try {
                      cls = classLoader.loadClass( className );
                  } catch ( Exception e ) {
                      //swallow
                  }
              }
  
              if ( cls == null ) {
                  try {
                      cls = ClassUtils.class.getClassLoader().loadClass( className );
                  } catch ( Exception e ) {
                      //swallow
                  }
              }
  
              if ( cls == null ) {
                  try {
                      cls = Thread.currentThread().getContextClassLoader().loadClass( className );
                  } catch ( Exception e ) {
                      //swallow
                  }
              }
  
              if ( cls == null ) {
                  try {
                      cls = ClassLoader.getSystemClassLoader().loadClass( className );
                  } catch ( Exception e ) {
                      //swallow
                  }
              }
  
              if ( cls != null ) {
                  classes.put( className, cls );
              } else {
                  throw new RuntimeException( "Unable to load class '" + className + "'" );
              }
          }
          return cls;
      }