Program: 95637
Project: 95637
Buggy source:
/** 
 * {@inheritDoc}
 */
public boolean isTestDataComplete(){
  if (StringUtils.isEmpty(getDataFile())) {
    final int paramListSize=getParameterListSize();
    ITDManager testDataManager=getDataManager();
    if ((testDataManager.getDataSetCount() == 0) && (paramListSize > 0)) {
      return false;
    }
    if (getParameterListSize() > testDataManager.getColumnCount()) {
      return false;
    }
    List<IParamDescriptionPO> requiredParameters=new ArrayList<IParamDescriptionPO>(getParameterList());
    IParameterInterfacePO refDataCube=getReferencedDataCube();
    for (int i=0; i < testDataManager.getDataSetCount(); i++) {
      for (      IParamDescriptionPO paramDesc : requiredParameters) {
        int column=testDataManager.findColumnForParam(paramDesc.getUniqueId());
        if (refDataCube != null) {
          IParamDescriptionPO dataCubeParam=refDataCube.getParameterForName(paramDesc.getName());
          if (dataCubeParam != null) {
            column=testDataManager.findColumnForParam(dataCubeParam.getUniqueId());
          }
        }
        if (column == -1) {
          return false;
        }
        String value=TestDataBP.INSTANCE.getTestData(this,testDataManager,paramDesc,i);
        if (value != null) {
          ModelParamValueConverter mpvc=new ModelParamValueConverter(value,this,paramDesc);
          List<RefToken> referenceTokens=mpvc.getRefTokens();
          String uiValue=mpvc.getGuiString();
          for (          RefToken token : referenceTokens) {
            if (uiValue.contains(token.getModelString())) {
              return false;
            }
          }
        }
 else {
          return false;
        }
      }
    }
  }
  return true;
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 */
public boolean isTestDataComplete(){
  if (StringUtils.isEmpty(getDataFile())) {
    final int paramListSize=getParameterListSize();
    ITDManager testDataManager=getDataManager();
    if ((testDataManager.getDataSetCount() == 0) && (paramListSize > 0)) {
      return false;
    }
    if (getParameterListSize() > testDataManager.getColumnCount()) {
      return false;
    }
    List<IParamDescriptionPO> requiredParameters=new ArrayList<IParamDescriptionPO>(getParameterList());
    IParameterInterfacePO refDataCube=getReferencedDataCube();
    for (int i=0; i < testDataManager.getDataSetCount(); i++) {
      for (      IParamDescriptionPO paramDesc : requiredParameters) {
        int column=testDataManager.findColumnForParam(paramDesc.getUniqueId());
        if (refDataCube != null) {
          IParamDescriptionPO dataCubeParam=refDataCube.getParameterForName(paramDesc.getName());
          if (dataCubeParam != null) {
            column=testDataManager.findColumnForParam(dataCubeParam.getUniqueId());
          }
        }
        if (column == -1) {
          return false;
        }
        String value=TestDataBP.INSTANCE.getTestData(this,testDataManager,paramDesc,i);
        if (StringUtils.isNotEmpty(value)) {
          ModelParamValueConverter mpvc=new ModelParamValueConverter(value,this,paramDesc);
          List<RefToken> referenceTokens=mpvc.getRefTokens();
          String uiValue=mpvc.getGuiString();
          for (          RefToken token : referenceTokens) {
            if (uiValue.contains(token.getModelString())) {
              return false;
            }
          }
        }
 else {
          return false;
        }
      }
    }
  }
  return true;
}