Program: 138129
Project: 138129
Buggy source:
@Override protected boolean doExecute() throws Exception {
  boolean result=true;
  List<File> mergeFolders=new ArrayList<File>();
  mergeFolders.add(getWorkspacePath().append(TDQ_METADATA).toFile());
  mergeFolders.add(getWorkspacePath().append(TDQ_LIBRARIES).toFile());
  mergeFolders.add(getWorkspacePath().append(TDQ_DATAPROFILING).toFile());
  Map<File,File> fileMap=new HashMap<File,File>();
  for (  File rawFile : mergeFolders) {
    if (rawFile.exists()) {
      File migFile=new Path(rawFile.getAbsolutePath()).addFileExtension(MIGRATION_FOLDER_EXT).toFile();
      rawFile.renameTo(migFile);
      fileMap.put(rawFile,migFile);
    }
  }
  for (  File rawFile : fileMap.keySet()) {
    result=result && merge(rawFile,fileMap.get(rawFile));
  }
  for (  File rawFile : fileMap.keySet()) {
    fileMap.get(rawFile).renameTo(rawFile.getAbsoluteFile());
  }
  if (GlobalServiceRegister.getDefault().isServiceRegistered(IMigrateDIMetadataItemService.class)) {
    IMigrateDIMetadataItemService service=(IMigrateDIMetadataItemService)GlobalServiceRegister.getDefault().getService(IMigrateDIMetadataItemService.class);
    File parentFolder=getWorkspacePath().append("String_Node_Str").toFile();
    if (parentFolder.exists()) {
      for (      File propFile : getPropertyFiles(parentFolder)) {
        Property property=PropertyHelper.getProperty(propFile);
        if (property != null) {
          Item item=property.getItem();
          if (item != null) {
            service.migrateDIItems(item);
          }
        }
      }
    }
  }
  return result;
}

Fixed version (ground truth):
@Override protected boolean doExecute() throws Exception {
  boolean result=true;
  List<File> mergeFolders=new ArrayList<File>();
  mergeFolders.add(getWorkspacePath().append(TDQ_METADATA).toFile());
  mergeFolders.add(getWorkspacePath().append(TDQ_LIBRARIES).toFile());
  mergeFolders.add(getWorkspacePath().append(TDQ_DATAPROFILING).toFile());
  Map<File,File> fileMap=new HashMap<File,File>();
  for (  File rawFile : mergeFolders) {
    if (rawFile.exists()) {
      File migFile=new Path(rawFile.getAbsolutePath()).addFileExtension(MIGRATION_FOLDER_EXT).toFile();
      rawFile.renameTo(migFile);
      fileMap.put(rawFile,migFile);
    }
  }
  for (  File rawFile : fileMap.keySet()) {
    result=result && merge(rawFile,fileMap.get(rawFile));
  }
  for (  File rawFile : fileMap.keySet()) {
    fileMap.get(rawFile).renameTo(rawFile.getAbsoluteFile());
  }
  if (!isWorksapcePath() && GlobalServiceRegister.getDefault().isServiceRegistered(IMigrateDIMetadataItemService.class)) {
    IMigrateDIMetadataItemService service=(IMigrateDIMetadataItemService)GlobalServiceRegister.getDefault().getService(IMigrateDIMetadataItemService.class);
    File parentFolder=getWorkspacePath().append("String_Node_Str").toFile();
    if (parentFolder.exists()) {
      for (      File propFile : getPropertyFiles(parentFolder)) {
        Property property=PropertyHelper.getProperty(propFile);
        if (property != null) {
          Item item=property.getItem();
          if (item != null) {
            service.migrateDIItems(item);
          }
        }
      }
    }
  }
  return result;
}