private ConfigurationLoader(ClassLoader classLoader) {
    this.classLoader = classLoader;
    delegateList = new ArrayList<String>();
    scanPackageSet = new HashSet<String>();
    javaClassModifierList = new ArrayList<JavaClassModifier>();
    methodRemover = new MethodRemover();
    javaClassModifierList.add(methodRemover);

    readFiles();
    try {
      loadPatchersAndJavaScriptObjects();
    } catch (Exception e) {
      throw new RuntimeException(
          "Error while loading "
              + JavaScriptObject.class.getSimpleName()
              + " subclass and "
              + Patcher.class.getSimpleName()
              + " instances");
    }
  }