Program: 95500
Project: 95500
Buggy source:
/** 
 * fill test cases
 * @param tcDTO will be contained the test case info
 * @param po spec test case object
 */
private void fillTestCase(TestCaseDTO tcDTO,ISpecTestCasePO po){
  for (  Object o : po.getUnmodifiableNodeList()) {
    if (o instanceof ICapPO) {
      ICapPO capPO=(ICapPO)o;
      CapDTO capDTO=new CapDTO(capPO);
      fillCap(capDTO,capPO);
      tcDTO.addTestStep(capDTO);
    }
 else     if (o instanceof IExecTestCasePO) {
      IExecTestCasePO tcPO=(IExecTestCasePO)o;
      RefTestCaseDTO refTestCaseDTO=new RefTestCaseDTO(tcPO);
      fillRefTestCase(refTestCaseDTO,tcPO);
      tcDTO.addTestStep(refTestCaseDTO);
    }
  }
  for (  IParamDescriptionPO paramPO : po.getParameterList()) {
    ParamDescriptionDTO pdDTO=new ParamDescriptionDTO();
    fillParamDescription(pdDTO,paramPO);
    tcDTO.addParameterDescription(pdDTO);
  }
  tcDTO.setInterfaceLocked(po.isInterfaceLocked());
  tcDTO.setDatafile(po.getDataFile());
  if (po.getReferencedDataCube() != null) {
    tcDTO.setReferencedTestData(po.getReferencedDataCube().getName());
  }
  final ITDManager dataManager=po.getDataManager();
  if (dataManager != null) {
    if (po.getReferencedDataCube() == null) {
      TDManagerDTO tdmDTO=new TDManagerDTO();
      fillTDManager(tdmDTO,dataManager);
      tcDTO.setTDManager(tdmDTO);
    }
  }
  for (  Object o : po.getEventExecTcMap().keySet()) {
    IEventExecTestCasePO evTc=po.getEventExecTC((String)o);
    EventTestCaseDTO etcDTO=new EventTestCaseDTO(evTc);
    fillEventTestCase(etcDTO,evTc);
    tcDTO.addEventTestcase(etcDTO);
  }
}

Fixed version (ground truth):
/** 
 * fill test cases
 * @param tcDTO will be contained the test case info
 * @param po spec test case object
 */
private void fillTestCase(TestCaseDTO tcDTO,ISpecTestCasePO po){
  for (  Object o : po.getUnmodifiableNodeList()) {
    if (o instanceof ICapPO) {
      ICapPO capPO=(ICapPO)o;
      CapDTO capDTO=new CapDTO(capPO);
      fillCap(capDTO,capPO);
      tcDTO.addTestStep(capDTO);
    }
 else     if (o instanceof IExecTestCasePO) {
      IExecTestCasePO tcPO=(IExecTestCasePO)o;
      RefTestCaseDTO refTestCaseDTO=new RefTestCaseDTO(tcPO);
      fillRefTestCase(refTestCaseDTO,tcPO);
      tcDTO.addTestStep(refTestCaseDTO);
    }
 else     if (o instanceof ICommentPO) {
      ICommentPO commentPO=(ICommentPO)o;
      CommentDTO commentDTO=new CommentDTO(commentPO);
      tcDTO.addTestStep(commentDTO);
    }
  }
  for (  IParamDescriptionPO paramPO : po.getParameterList()) {
    ParamDescriptionDTO pdDTO=new ParamDescriptionDTO();
    fillParamDescription(pdDTO,paramPO);
    tcDTO.addParameterDescription(pdDTO);
  }
  tcDTO.setInterfaceLocked(po.isInterfaceLocked());
  tcDTO.setDatafile(po.getDataFile());
  if (po.getReferencedDataCube() != null) {
    tcDTO.setReferencedTestData(po.getReferencedDataCube().getName());
  }
  final ITDManager dataManager=po.getDataManager();
  if (dataManager != null) {
    if (po.getReferencedDataCube() == null) {
      TDManagerDTO tdmDTO=new TDManagerDTO();
      fillTDManager(tdmDTO,dataManager);
      tcDTO.setTDManager(tdmDTO);
    }
  }
  for (  Object o : po.getEventExecTcMap().keySet()) {
    IEventExecTestCasePO evTc=po.getEventExecTC((String)o);
    EventTestCaseDTO etcDTO=new EventTestCaseDTO(evTc);
    fillEventTestCase(etcDTO,evTc);
    tcDTO.addEventTestcase(etcDTO);
  }
}