Program: 111042
Project: 111042
Buggy source:
/** 
 * Generates a project file. 
 */
public static PBXProject xcodeproj(Path workspaceRoot,Control control,Iterable<PbxReferencesProcessor> postProcessors){
  checkArgument(control.hasPbxproj(),"String_Node_Str");
  FileSystem fileSystem=workspaceRoot.getFileSystem();
  XcodeprojPath<Path> outputPath=XcodeprojPath.converter().fromPath(RelativePaths.fromString(fileSystem,control.getPbxproj()));
  NSDictionary projBuildConfigMap=new NSDictionary();
  projBuildConfigMap.put("String_Node_Str",new NSArray(new NSString("String_Node_Str"),new NSString("String_Node_Str"),new NSString("String_Node_Str")));
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  for (  XcodeprojBuildSetting projectSetting : control.getBuildSettingList()) {
    projBuildConfigMap.put(projectSetting.getName(),projectSetting.getValue());
  }
  PBXProject project=new PBXProject(outputPath.getProjectName());
  project.getMainGroup().setPath("String_Node_Str");
  try {
    project.getBuildConfigurationList().getBuildConfigurationsByName().get(DEFAULT_OPTIONS_NAME).setBuildSettings(projBuildConfigMap);
  }
 catch (  ExecutionException e) {
    throw new RuntimeException(e);
  }
  Map<String,TargetInfo> targetInfoByLabel=new HashMap<>();
  PBXFileReferences fileReferences=new PBXFileReferences();
  LibraryObjects libraryObjects=new LibraryObjects(fileReferences);
  PBXBuildFiles pbxBuildFiles=new PBXBuildFiles(fileReferences);
  Resources resources=Resources.fromTargetControls(fileSystem,pbxBuildFiles,control.getTargetList());
  Xcdatamodels xcdatamodels=Xcdatamodels.fromTargetControls(fileSystem,pbxBuildFiles,control.getTargetList());
  Set<PBXReference> projectNavigatorFiles=new LinkedHashSet<>();
  for (  TargetControl targetControl : control.getTargetList()) {
    checkArgument(targetControl.hasName(),"String_Node_Str",targetControl);
    checkArgument(targetControl.hasLabel(),"String_Node_Str",targetControl);
    ProductType productType=productType(targetControl);
    Preconditions.checkArgument((productType != ProductType.APPLICATION) || hasAtLeastOneCompilableSource(targetControl),APP_NEEDS_SOURCE_ERROR);
    PBXSourcesBuildPhase sourcesBuildPhase=new PBXSourcesBuildPhase();
    for (    SourceFile source : SourceFile.allSourceFiles(fileSystem,targetControl)) {
      PBXFileReference fileRef=fileReferences.get(FileReference.of(source.path().toString(),SourceTree.GROUP));
      projectNavigatorFiles.add(fileRef);
      if (Equaling.of(source.buildType(),BuildType.NO_BUILD)) {
        continue;
      }
      PBXBuildFile buildFile=new PBXBuildFile(fileRef);
      if (Equaling.of(source.buildType(),BuildType.NON_ARC_BUILD)) {
        buildFile.setSettings(Optional.of(nonArcCompileSettings()));
      }
      sourcesBuildPhase.getFiles().add(buildFile);
    }
    sourcesBuildPhase.getFiles().addAll(xcdatamodels.buildFiles().get(targetControl));
    PBXFileReference productReference=fileReferences.get(productReference(targetControl));
    projectNavigatorFiles.add(productReference);
    NSDictionary targetBuildConfigMap=new NSDictionary();
    targetBuildConfigMap.put("String_Node_Str",headerSearchPaths(plus(targetControl.getUserHeaderSearchPathList(),"String_Node_Str")));
    targetBuildConfigMap.put("String_Node_Str",headerSearchPaths(plus(targetControl.getHeaderSearchPathList(),"String_Node_Str")));
    targetBuildConfigMap.put("String_Node_Str",frameworkSearchPaths(targetControl.getFrameworkList()));
    targetBuildConfigMap.put("String_Node_Str",workspaceRoot.toString());
    if (targetControl.hasPchPath()) {
      targetBuildConfigMap.put("String_Node_Str","String_Node_Str" + targetControl.getPchPath());
    }
    targetBuildConfigMap.put("String_Node_Str",productName(targetControl));
    if (targetControl.hasInfoplist()) {
      targetBuildConfigMap.put("String_Node_Str","String_Node_Str" + targetControl.getInfoplist());
    }
    if (targetControl.getCoptCount() > 0) {
      targetBuildConfigMap.put("String_Node_Str",NSObject.wrap(targetControl.getCoptList()));
    }
    targetBuildConfigMap.put("String_Node_Str",NSObject.wrap(otherLdflags(targetControl)));
    for (    XcodeprojBuildSetting setting : targetControl.getBuildSettingList()) {
      String name=setting.getName();
      String value=setting.getValue();
      if (name.equals("String_Node_Str") && !value.startsWith("String_Node_Str")) {
        value="String_Node_Str" + value;
      }
      targetBuildConfigMap.put(name,value);
    }
    PBXNativeTarget target=new PBXNativeTarget(labelToXcodeTargetName(targetControl.getLabel()),productType);
    try {
      target.getBuildConfigurationList().getBuildConfigurationsByName().get(DEFAULT_OPTIONS_NAME).setBuildSettings(targetBuildConfigMap);
    }
 catch (    ExecutionException e) {
      throw new RuntimeException(e);
    }
    target.setProductReference(productReference);
    PBXFrameworksBuildPhase frameworksPhase=buildLibraryInfo(libraryObjects,targetControl);
    PBXResourcesBuildPhase resourcesPhase=resources.resourcesBuildPhase(targetControl);
    for (    String importedArchive : targetControl.getImportedLibraryList()) {
      PBXFileReference fileReference=fileReferences.get(FileReference.of(importedArchive,SourceTree.GROUP).withExplicitFileType(FILE_TYPE_ARCHIVE_LIBRARY));
      projectNavigatorFiles.add(fileReference);
    }
    project.getTargets().add(target);
    target.getBuildPhases().add(frameworksPhase);
    target.getBuildPhases().add(sourcesBuildPhase);
    target.getBuildPhases().add(resourcesPhase);
    checkState(!Mapping.of(targetInfoByLabel,targetControl.getLabel()).isPresent(),"String_Node_Str",targetControl.getLabel(),targetInfoByLabel);
    targetInfoByLabel.put(targetControl.getLabel(),new TargetInfo(targetControl,target,frameworksPhase,resourcesPhase,new PBXBuildFile(productReference),new LocalPBXTargetDependency(new LocalPBXContainerItemProxy(project,target,ProxyType.TARGET_REFERENCE)),targetBuildConfigMap));
  }
  for (  HasProjectNavigatorFiles references : ImmutableList.of(pbxBuildFiles,libraryObjects)) {
    Iterables.addAll(projectNavigatorFiles,references.mainGroupReferences());
  }
  Iterable<PBXReference> processedProjectFiles=projectNavigatorFiles;
  for (  PbxReferencesProcessor postProcessor : postProcessors) {
    processedProjectFiles=postProcessor.process(processedProjectFiles);
  }
  Iterables.addAll(project.getMainGroup().getChildren(),processedProjectFiles);
  for (  TargetInfo targetInfo : targetInfoByLabel.values()) {
    for (    DependencyControl dependency : targetInfo.control.getDependencyList()) {
      targetInfo.addDependencyInfo(dependency,targetInfoByLabel);
    }
  }
  return project;
}

Fixed version (ground truth):
/** 
 * Generates a project file. 
 */
public static PBXProject xcodeproj(Path workspaceRoot,Control control,Iterable<PbxReferencesProcessor> postProcessors){
  checkArgument(control.hasPbxproj(),"String_Node_Str");
  FileSystem fileSystem=workspaceRoot.getFileSystem();
  XcodeprojPath<Path> outputPath=XcodeprojPath.converter().fromPath(RelativePaths.fromString(fileSystem,control.getPbxproj()));
  NSDictionary projBuildConfigMap=new NSDictionary();
  projBuildConfigMap.put("String_Node_Str",new NSArray(new NSString("String_Node_Str"),new NSString("String_Node_Str"),new NSString("String_Node_Str")));
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  projBuildConfigMap.put("String_Node_Str","String_Node_Str");
  for (  XcodeprojBuildSetting projectSetting : control.getBuildSettingList()) {
    projBuildConfigMap.put(projectSetting.getName(),projectSetting.getValue());
  }
  PBXProject project=new PBXProject(outputPath.getProjectName());
  project.getMainGroup().setPath(workspaceRoot.toString());
  try {
    project.getBuildConfigurationList().getBuildConfigurationsByName().get(DEFAULT_OPTIONS_NAME).setBuildSettings(projBuildConfigMap);
  }
 catch (  ExecutionException e) {
    throw new RuntimeException(e);
  }
  Map<String,TargetInfo> targetInfoByLabel=new HashMap<>();
  PBXFileReferences fileReferences=new PBXFileReferences();
  LibraryObjects libraryObjects=new LibraryObjects(fileReferences);
  PBXBuildFiles pbxBuildFiles=new PBXBuildFiles(fileReferences);
  Resources resources=Resources.fromTargetControls(fileSystem,pbxBuildFiles,control.getTargetList());
  Xcdatamodels xcdatamodels=Xcdatamodels.fromTargetControls(fileSystem,pbxBuildFiles,control.getTargetList());
  Set<PBXReference> projectNavigatorFiles=new LinkedHashSet<>();
  for (  TargetControl targetControl : control.getTargetList()) {
    checkArgument(targetControl.hasName(),"String_Node_Str",targetControl);
    checkArgument(targetControl.hasLabel(),"String_Node_Str",targetControl);
    ProductType productType=productType(targetControl);
    Preconditions.checkArgument((productType != ProductType.APPLICATION) || hasAtLeastOneCompilableSource(targetControl),APP_NEEDS_SOURCE_ERROR);
    PBXSourcesBuildPhase sourcesBuildPhase=new PBXSourcesBuildPhase();
    for (    SourceFile source : SourceFile.allSourceFiles(fileSystem,targetControl)) {
      PBXFileReference fileRef=fileReferences.get(FileReference.of(source.path().toString(),SourceTree.GROUP));
      projectNavigatorFiles.add(fileRef);
      if (Equaling.of(source.buildType(),BuildType.NO_BUILD)) {
        continue;
      }
      PBXBuildFile buildFile=new PBXBuildFile(fileRef);
      if (Equaling.of(source.buildType(),BuildType.NON_ARC_BUILD)) {
        buildFile.setSettings(Optional.of(nonArcCompileSettings()));
      }
      sourcesBuildPhase.getFiles().add(buildFile);
    }
    sourcesBuildPhase.getFiles().addAll(xcdatamodels.buildFiles().get(targetControl));
    PBXFileReference productReference=fileReferences.get(productReference(targetControl));
    projectNavigatorFiles.add(productReference);
    NSDictionary targetBuildConfigMap=new NSDictionary();
    targetBuildConfigMap.put("String_Node_Str",headerSearchPaths(plus(targetControl.getUserHeaderSearchPathList(),"String_Node_Str")));
    targetBuildConfigMap.put("String_Node_Str",headerSearchPaths(plus(targetControl.getHeaderSearchPathList(),"String_Node_Str")));
    targetBuildConfigMap.put("String_Node_Str",frameworkSearchPaths(targetControl.getFrameworkList()));
    targetBuildConfigMap.put("String_Node_Str",workspaceRoot.toString());
    if (targetControl.hasPchPath()) {
      targetBuildConfigMap.put("String_Node_Str","String_Node_Str" + targetControl.getPchPath());
    }
    targetBuildConfigMap.put("String_Node_Str",productName(targetControl));
    if (targetControl.hasInfoplist()) {
      targetBuildConfigMap.put("String_Node_Str","String_Node_Str" + targetControl.getInfoplist());
    }
    if (targetControl.getCoptCount() > 0) {
      targetBuildConfigMap.put("String_Node_Str",NSObject.wrap(targetControl.getCoptList()));
    }
    targetBuildConfigMap.put("String_Node_Str",NSObject.wrap(otherLdflags(targetControl)));
    for (    XcodeprojBuildSetting setting : targetControl.getBuildSettingList()) {
      String name=setting.getName();
      String value=setting.getValue();
      if (name.equals("String_Node_Str") && !value.startsWith("String_Node_Str")) {
        value="String_Node_Str" + value;
      }
      targetBuildConfigMap.put(name,value);
    }
    PBXNativeTarget target=new PBXNativeTarget(labelToXcodeTargetName(targetControl.getLabel()),productType);
    try {
      target.getBuildConfigurationList().getBuildConfigurationsByName().get(DEFAULT_OPTIONS_NAME).setBuildSettings(targetBuildConfigMap);
    }
 catch (    ExecutionException e) {
      throw new RuntimeException(e);
    }
    target.setProductReference(productReference);
    PBXFrameworksBuildPhase frameworksPhase=buildLibraryInfo(libraryObjects,targetControl);
    PBXResourcesBuildPhase resourcesPhase=resources.resourcesBuildPhase(targetControl);
    for (    String importedArchive : targetControl.getImportedLibraryList()) {
      PBXFileReference fileReference=fileReferences.get(FileReference.of(importedArchive,SourceTree.GROUP).withExplicitFileType(FILE_TYPE_ARCHIVE_LIBRARY));
      projectNavigatorFiles.add(fileReference);
    }
    project.getTargets().add(target);
    target.getBuildPhases().add(frameworksPhase);
    target.getBuildPhases().add(sourcesBuildPhase);
    target.getBuildPhases().add(resourcesPhase);
    checkState(!Mapping.of(targetInfoByLabel,targetControl.getLabel()).isPresent(),"String_Node_Str",targetControl.getLabel(),targetInfoByLabel);
    targetInfoByLabel.put(targetControl.getLabel(),new TargetInfo(targetControl,target,frameworksPhase,resourcesPhase,new PBXBuildFile(productReference),new LocalPBXTargetDependency(new LocalPBXContainerItemProxy(project,target,ProxyType.TARGET_REFERENCE)),targetBuildConfigMap));
  }
  for (  HasProjectNavigatorFiles references : ImmutableList.of(pbxBuildFiles,libraryObjects)) {
    Iterables.addAll(projectNavigatorFiles,references.mainGroupReferences());
  }
  Iterable<PBXReference> processedProjectFiles=projectNavigatorFiles;
  for (  PbxReferencesProcessor postProcessor : postProcessors) {
    processedProjectFiles=postProcessor.process(processedProjectFiles);
  }
  Iterables.addAll(project.getMainGroup().getChildren(),processedProjectFiles);
  for (  TargetInfo targetInfo : targetInfoByLabel.values()) {
    for (    DependencyControl dependency : targetInfo.control.getDependencyList()) {
      targetInfo.addDependencyInfo(dependency,targetInfoByLabel);
    }
  }
  return project;
}