Program: 138544
Project: 138544
Buggy source:
public void recomputeIndicators(){
  columnSetAnalysisHandler=new ColumnSetAnalysisHandler();
  columnSetAnalysisHandler.setAnalysis((Analysis)this.currentModelElement);
  stringDataFilter=columnSetAnalysisHandler.getStringDataFilter();
  analyzedColumns=columnSetAnalysisHandler.getAnalyzedColumns();
  if (columnSetAnalysisHandler.getSimpleStatIndicator() == null) {
    ColumnsetFactory columnsetFactory=ColumnsetFactory.eINSTANCE;
    simpleStatIndicator=columnsetFactory.createSimpleStatIndicator();
    simpleStatIndicator.setRowCountIndicator(IndicatorsFactory.eINSTANCE.createRowCountIndicator());
    simpleStatIndicator.setDistinctCountIndicator(IndicatorsFactory.eINSTANCE.createDistinctCountIndicator());
    simpleStatIndicator.setDuplicateCountIndicator(IndicatorsFactory.eINSTANCE.createDuplicateCountIndicator());
    simpleStatIndicator.setUniqueCountIndicator(IndicatorsFactory.eINSTANCE.createUniqueCountIndicator());
  }
 else {
    simpleStatIndicator=(SimpleStatIndicator)columnSetAnalysisHandler.getSimpleStatIndicator();
  }
  if (columnSetAnalysisHandler.getAllmatchIndicator() == null) {
    ColumnsetFactory columnsetFactory=ColumnsetFactory.eINSTANCE;
    allMatchIndicator=columnsetFactory.createAllMatchIndicator();
    DefinitionHandler.getInstance().setDefaultIndicatorDefinition(allMatchIndicator);
  }
 else {
    allMatchIndicator=(AllMatchIndicator)columnSetAnalysisHandler.getAllmatchIndicator();
  }
  initializeIndicator(simpleStatIndicator);
  List<ModelElementIndicator> meIndicatorList=new ArrayList<ModelElementIndicator>();
  ModelElementIndicator currentIndicator;
  for (  ModelElement element : analyzedColumns) {
    TdColumn tdColumn=SwitchHelpers.COLUMN_SWITCH.doSwitch(element);
    if (tdColumn == null) {
      continue;
    }
    MetadataHelper.setDataminingType(DataminingType.NOMINAL,tdColumn);
    currentIndicator=ModelElementIndicatorHelper.createModelElementIndicator(RepositoryNodeHelper.recursiveFind(tdColumn));
    Collection<Indicator> indicatorList=columnSetAnalysisHandler.getRegexMathingIndicators(element);
    currentIndicator.setIndicators(indicatorList.toArray(new Indicator[indicatorList.size()]));
    meIndicatorList.add(currentIndicator);
  }
  currentModelElementIndicators=meIndicatorList.toArray(new ModelElementIndicator[meIndicatorList.size()]);
}

Fixed version (ground truth):
public void recomputeIndicators(){
  columnSetAnalysisHandler=new ColumnSetAnalysisHandler();
  columnSetAnalysisHandler.setAnalysis((Analysis)this.currentModelElement);
  stringDataFilter=columnSetAnalysisHandler.getStringDataFilter();
  analyzedColumns=columnSetAnalysisHandler.getAnalyzedColumns();
  if (columnSetAnalysisHandler.getSimpleStatIndicator() == null || columnSetAnalysisHandler.getSimpleStatIndicator().eIsProxy()) {
    ColumnsetFactory columnsetFactory=ColumnsetFactory.eINSTANCE;
    simpleStatIndicator=columnsetFactory.createSimpleStatIndicator();
    simpleStatIndicator.setRowCountIndicator(IndicatorsFactory.eINSTANCE.createRowCountIndicator());
    simpleStatIndicator.setDistinctCountIndicator(IndicatorsFactory.eINSTANCE.createDistinctCountIndicator());
    simpleStatIndicator.setDuplicateCountIndicator(IndicatorsFactory.eINSTANCE.createDuplicateCountIndicator());
    simpleStatIndicator.setUniqueCountIndicator(IndicatorsFactory.eINSTANCE.createUniqueCountIndicator());
  }
 else {
    simpleStatIndicator=(SimpleStatIndicator)columnSetAnalysisHandler.getSimpleStatIndicator();
  }
  if (columnSetAnalysisHandler.getAllmatchIndicator() == null) {
    ColumnsetFactory columnsetFactory=ColumnsetFactory.eINSTANCE;
    allMatchIndicator=columnsetFactory.createAllMatchIndicator();
    DefinitionHandler.getInstance().setDefaultIndicatorDefinition(allMatchIndicator);
  }
 else {
    allMatchIndicator=(AllMatchIndicator)columnSetAnalysisHandler.getAllmatchIndicator();
  }
  initializeIndicator(simpleStatIndicator);
  List<ModelElementIndicator> meIndicatorList=new ArrayList<ModelElementIndicator>();
  ModelElementIndicator currentIndicator;
  for (  ModelElement element : analyzedColumns) {
    TdColumn tdColumn=SwitchHelpers.COLUMN_SWITCH.doSwitch(element);
    if (tdColumn == null) {
      continue;
    }
    MetadataHelper.setDataminingType(DataminingType.NOMINAL,tdColumn);
    currentIndicator=ModelElementIndicatorHelper.createModelElementIndicator(RepositoryNodeHelper.recursiveFind(tdColumn));
    Collection<Indicator> indicatorList=columnSetAnalysisHandler.getRegexMathingIndicators(element);
    currentIndicator.setIndicators(indicatorList.toArray(new Indicator[indicatorList.size()]));
    meIndicatorList.add(currentIndicator);
  }
  currentModelElementIndicators=meIndicatorList.toArray(new ModelElementIndicator[meIndicatorList.size()]);
}