Program: 96115
Project: 96115
Buggy source:
/** 
 * Adds the parameters from the given cap to the given result node.
 * @param paramNode The node from which to copy the parameter info.
 * @param resultNode The result node to which the parameter info willbe copied.
 */
private void addParameters(IParamNodePO paramNode,TestResultNode resultNode){
  List<IParamDescriptionPO> parameterList=paramNode.getParameterList();
  String value=null;
  for (  IParamDescriptionPO desc : parameterList) {
    ITDManager tdManager=null;
    try {
      tdManager=m_externalTestDataBP.getExternalCheckedTDManager(paramNode);
    }
 catch (    JBException e) {
      log.error(Messages.TestDataNotAvailable + StringConstants.DOT,e);
    }
    TestExecution te=TestExecution.getInstance();
    List<ExecObject> stackList=new ArrayList<ExecObject>(te.getTrav().getExecStackAsList());
    int dataSetIndex=te.getTrav().getDataSetNumber();
    if (tdManager.getDataSetCount() <= 1) {
      dataSetIndex=0;
    }
    if (paramNode instanceof ICapPO) {
      dataSetIndex=0;
    }
    ITestDataPO date=tdManager.getCell(dataSetIndex,desc);
    ParamValueConverter conv=new ModelParamValueConverter(date.getValue(te.getLocale()),paramNode,te.getLocale(),desc);
    try {
      value=conv.getExecutionString(stackList,te.getLocale());
    }
 catch (    InvalidDataException e) {
      log.error(e.getMessage());
      value=MessageIDs.getMessageObject(e.getErrorId()).getMessage(new Object[]{});
    }
    if (value != null) {
      if (value.length() == 0) {
        value=TestDataConstants.EMPTY_SYMBOL;
      }
    }
 else {
      value=StringConstants.EMPTY;
    }
    resultNode.addParameter(new TestResultParameter(desc.getName(),CompSystemI18n.getString(desc.getType()),value));
  }
}

Fixed version (ground truth):
/** 
 * Adds the parameters from the given cap to the given result node.
 * @param paramNode The node from which to copy the parameter info.
 * @param resultNode The result node to which the parameter info willbe copied.
 */
private void addParameters(IParamNodePO paramNode,TestResultNode resultNode){
  List<IParamDescriptionPO> parameterList=paramNode.getParameterList();
  String value=null;
  for (  IParamDescriptionPO desc : parameterList) {
    ITDManager tdManager=null;
    try {
      tdManager=m_externalTestDataBP.getExternalCheckedTDManager(paramNode);
    }
 catch (    JBException e) {
      log.error(Messages.TestDataNotAvailable + StringConstants.DOT,e);
    }
    TestExecution te=TestExecution.getInstance();
    List<ExecObject> stackList=new ArrayList<ExecObject>(te.getTrav().getExecStackAsList());
    int dataSetIndex=te.getTrav().getDataSetNumber();
    if (tdManager.getDataSetCount() <= 1) {
      dataSetIndex=0;
    }
    if (paramNode instanceof ICapPO) {
      dataSetIndex=0;
    }
    if (tdManager.findColumnForParam(desc.getUniqueId()) == -1) {
      IParameterInterfacePO referencedDataCube=paramNode.getReferencedDataCube();
      if (referencedDataCube != null) {
        desc=referencedDataCube.getParameterForName(desc.getName());
      }
    }
    ITestDataPO date=tdManager.getCell(dataSetIndex,desc);
    ParamValueConverter conv=new ModelParamValueConverter(date.getValue(te.getLocale()),paramNode,te.getLocale(),desc);
    try {
      value=conv.getExecutionString(stackList,te.getLocale());
    }
 catch (    InvalidDataException e) {
      log.error(e.getMessage());
      value=MessageIDs.getMessageObject(e.getErrorId()).getMessage(new Object[]{});
    }
    if (value != null) {
      if (value.length() == 0) {
        value=TestDataConstants.EMPTY_SYMBOL;
      }
    }
 else {
      value=StringConstants.EMPTY;
    }
    resultNode.addParameter(new TestResultParameter(desc.getName(),CompSystemI18n.getString(desc.getType()),value));
  }
}