code: public static EnvironmentClassLoader create(ClassLoader parent, String id)
    {
      if (parent == null)
        parent = Thread.currentThread().getContextClassLoader();
      
      ClassLoader systemClassLoader = getSystemClassLoaderSafe();
      
      if (parent == null || isParent(parent, systemClassLoader))
        parent = systemClassLoader;
      
      String className = System.getProperty("caucho.environment.class.loader");
  
      if (className != null) {
        try {
          Class<?> cl = Thread.currentThread().getContextClassLoader().loadClass(className);
          Constructor<?> ctor = cl.getConstructor(new Class[] { ClassLoader.class, String.class});
          Object instance = ctor.newInstance(parent, id);
  
          return (EnvironmentClassLoader) instance;
        }
        catch (Exception e) {
          e.printStackTrace();
        }
      }
  
      return new EnvironmentClassLoader(parent, id);
    }
docs: Creates a new environment class loader.