Program: 95638
Project: 95638
Buggy source:
/** 
 * Creates the instance of the persistent object which is defined by the DTO element used as parameter. The method generates all dependent objects as well.
 * @param owner The ParamNode which holds this TDManager
 * @param dto Abstraction of the DTO elementthe test data, otherwise a new TDManager is created.
 * @return a persistent object generated from the information in the DTOelement
 * @param assignNewGuids <code>true</code> if the parameters were givennew unique IDs. Otherwise <code>false</code>.
 */
private ITDManager createTDManager(IParameterInterfacePO owner,TDManagerDTO dto,boolean assignNewGuids){
  if (dto == null) {
    return PoMaker.createTDManagerPO(owner);
  }
  final ITDManager tdman;
  List<String> uniqueIds=new ArrayList<String>(dto.getUniqueIds());
  if (assignNewGuids) {
    List<String> newUniqueIds=new ArrayList<String>();
    for (    String id : uniqueIds) {
      if (Pattern.matches("String_Node_Str" + GUID_LENGTH + "String_Node_Str",id) && m_oldToNewGuids.containsKey(id)) {
        newUniqueIds.add(m_oldToNewGuids.get(id));
      }
 else {
        newUniqueIds.add(id);
      }
    }
    uniqueIds=newUniqueIds;
  }
  if (uniqueIds.isEmpty()) {
    tdman=PoMaker.createTDManagerPO(owner);
  }
 else {
    tdman=PoMaker.createTDManagerPO(owner,uniqueIds);
  }
  for (  DataRowDTO row : dto.getDataSets()) {
    final List<String> td=new ArrayList<String>(row.getColumns().size());
    for (    String column : row.getColumns()) {
      td.add(readData(column,owner));
    }
    tdman.insertDataSet(PoMaker.createListWrapperPO(td),tdman.getDataSetCount());
  }
  return tdman;
}

Fixed version (ground truth):
/** 
 * Creates the instance of the persistent object which is defined by the DTO element used as parameter. The method generates all dependent objects as well.
 * @param owner The ParamNode which holds this TDManager
 * @param dto Abstraction of the DTO elementthe test data, otherwise a new TDManager is created.
 * @return a persistent object generated from the information in the DTOelement
 * @param assignNewGuids <code>true</code> if the parameters were givennew unique IDs. Otherwise <code>false</code>.
 */
private ITDManager createTDManager(IParameterInterfacePO owner,TDManagerDTO dto,boolean assignNewGuids){
  if (dto == null) {
    return PoMaker.createTDManagerPO(owner);
  }
  final ITDManager tdman;
  List<String> uniqueIds=new ArrayList<String>(dto.getUniqueIds());
  if (assignNewGuids) {
    List<String> newUniqueIds=new ArrayList<String>();
    for (    String id : uniqueIds) {
      if (Pattern.matches("String_Node_Str" + ImportExportUtil.UUID_LENGTH + "String_Node_Str",id) && m_oldToNewGuids.containsKey(id)) {
        newUniqueIds.add(m_oldToNewGuids.get(id));
      }
 else {
        newUniqueIds.add(id);
      }
    }
    uniqueIds=newUniqueIds;
  }
  if (uniqueIds.isEmpty()) {
    tdman=PoMaker.createTDManagerPO(owner);
  }
 else {
    tdman=PoMaker.createTDManagerPO(owner,uniqueIds);
  }
  for (  DataRowDTO row : dto.getDataSets()) {
    final List<String> td=new ArrayList<String>(row.getColumns().size());
    for (    String column : row.getColumns()) {
      td.add(readData(column,owner));
    }
    tdman.insertDataSet(PoMaker.createListWrapperPO(td),tdman.getDataSetCount());
  }
  return tdman;
}