Program: 54801
Project: 54801
Buggy source:
private static Map<ModuleIdentifier,ModuleSpec> newModule(final String name,final String mainClass,final int level,final String prefix,final File... cp) throws Exception {
  Map<ModuleIdentifier,ModuleSpec> modules=new HashMap<>();
  String mId=name.replace("String_Node_Str","String_Node_Str");
  ModuleSpec.Builder builder=ModuleSpec.build(ModuleIdentifier.fromString(mId));
  int l=(prefix.length() + mId.length() + level);
  Main.debug("String_Node_Str" + l + "String_Node_Str",prefix + mId);
  for (  File file : cp) {
    String fname="String_Node_Str" + file.getAbsolutePath();
    if (file.getName().startsWith("String_Node_Str") && !name.equals(file.getName())) {
      ModuleSpec dependency=newModule(file.getName(),null,level + 2,"String_Node_Str",file).values().iterator().next();
      builder.addDependency(DependencySpec.createModuleDependencySpec(dependency.getModuleIdentifier()));
      modules.put(dependency.getModuleIdentifier(),dependency);
    }
 else {
      Main.debug("String_Node_Str" + (fname.length() + level + 2) + "String_Node_Str",fname);
      if (file.getName().endsWith("String_Node_Str")) {
        builder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(ResourceLoaders.createJarResourceLoader(file.getName(),new JarFile(file))));
      }
 else {
        builder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(ResourceLoaders.createFileResourceLoader(file.getName(),file)));
      }
    }
  }
  Set<String> sysPaths=sysPaths();
  Main.trace("String_Node_Str");
  sysPaths.forEach(p -> Main.trace("String_Node_Str",p));
  builder.addDependency(DependencySpec.createSystemDependencySpec(sysPaths));
  builder.addDependency(DependencySpec.createLocalDependencySpec());
  if (mainClass != null) {
    builder.setMainClass(mainClass);
  }
  ModuleSpec module=builder.create();
  modules.put(module.getModuleIdentifier(),builder.create());
  return modules;
}

Fixed version (ground truth):
private static Map<ModuleIdentifier,ModuleSpec> newModule(final String name,final int level,final String prefix,final File... cp) throws Exception {
  Map<ModuleIdentifier,ModuleSpec> modules=new HashMap<>();
  String mId=name.replace("String_Node_Str","String_Node_Str");
  ModuleSpec.Builder builder=ModuleSpec.build(ModuleIdentifier.fromString(mId));
  int l=(prefix.length() + mId.length() + level);
  Main.debug("String_Node_Str" + l + "String_Node_Str",prefix + mId);
  for (  File file : cp) {
    String fname="String_Node_Str" + file.getAbsolutePath();
    if (file.getName().startsWith("String_Node_Str") && !name.equals(file.getName())) {
      ModuleSpec dependency=newModule(file.getName(),level + 2,"String_Node_Str",file).values().iterator().next();
      builder.addDependency(DependencySpec.createModuleDependencySpec(dependency.getModuleIdentifier()));
      modules.put(dependency.getModuleIdentifier(),dependency);
    }
 else {
      Main.debug("String_Node_Str" + (fname.length() + level + 2) + "String_Node_Str",fname);
      if (file.getName().endsWith("String_Node_Str")) {
        builder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(ResourceLoaders.createJarResourceLoader(file.getName(),new JarFile(file))));
      }
 else {
        builder.addResourceRoot(ResourceLoaderSpec.createResourceLoaderSpec(ResourceLoaders.createFileResourceLoader(file.getName(),file)));
      }
    }
  }
  Set<String> sysPaths=sysPaths();
  Main.trace("String_Node_Str");
  sysPaths.forEach(p -> Main.trace("String_Node_Str",p));
  builder.addDependency(DependencySpec.createSystemDependencySpec(sysPaths));
  builder.addDependency(DependencySpec.createLocalDependencySpec());
  ModuleSpec module=builder.create();
  modules.put(module.getModuleIdentifier(),builder.create());
  return modules;
}