Program: 137654
Project: 137654
Buggy source:
public void recomputeIndicators(){
  analysisHandler=new ModelElementAnalysisHandler();
  analysisHandler.setAnalysis((Analysis)this.currentModelElement);
  EList<Indicator> allIndics=analysis.getResults().getIndicators();
  List<Indicator> updatedIndWithJUDI=new ArrayList<Indicator>();
  for (  Indicator indicator : allIndics) {
    if (UDIHelper.isJUDIValid(indicator.getIndicatorDefinition())) {
      try {
        indicator=UDIHelper.adaptToJavaUDI(indicator);
        updatedIndWithJUDI.add(indicator);
      }
 catch (      Throwable e) {
        log.error(e);
      }
    }
    updatedIndWithJUDI.add(indicator);
  }
  allIndics.clear();
  allIndics.addAll(updatedIndWithJUDI);
  stringDataFilter=analysisHandler.getStringDataFilter();
  EList<ModelElement> analyzedColumns=analysisHandler.getAnalyzedColumns();
  List<ModelElementIndicator> meIndicatorList=new ArrayList<ModelElementIndicator>();
  ModelElementIndicator currentIndicator=null;
  for (  ModelElement element : analyzedColumns) {
    TdColumn tdColumn=SwitchHelpers.COLUMN_SWITCH.doSwitch(element);
    TdXmlElementType xmlElement=SwitchHelpers.XMLELEMENTTYPE_SWITCH.doSwitch(element);
    MetadataColumn mdColumn=SwitchHelpers.METADATA_COLUMN_SWITCH.doSwitch(element);
    if (tdColumn == null && xmlElement == null && mdColumn == null) {
      continue;
    }
    if (tdColumn == null && mdColumn != null) {
      currentIndicator=ModelElementIndicatorHelper.createDFColumnIndicator(RepositoryNodeHelper.recursiveFind(mdColumn));
    }
 else     if (tdColumn != null) {
      currentIndicator=ModelElementIndicatorHelper.createModelElementIndicator(RepositoryNodeHelper.recursiveFind(tdColumn));
    }
 else     if (xmlElement != null) {
      currentIndicator=ModelElementIndicatorHelper.createModelElementIndicator(RepositoryNodeHelper.recursiveFind(xmlElement));
    }
    DataminingType dataminingType=DataminingType.get(analysisHandler.getDatamingType(element));
    MetadataHelper.setDataminingType(dataminingType == null ? DataminingType.NOMINAL : dataminingType,element);
    Collection<Indicator> indicatorList=analysisHandler.getIndicators(element);
    if (currentIndicator != null) {
      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(){
  analysisHandler=new ModelElementAnalysisHandler();
  analysisHandler.setAnalysis((Analysis)this.currentModelElement);
  EList<Indicator> allIndics=analysis.getResults().getIndicators();
  List<Indicator> updatedIndWithJUDI=new ArrayList<Indicator>();
  for (  Indicator indicator : allIndics) {
    if (UDIHelper.isJUDIValid(indicator.getIndicatorDefinition())) {
      try {
        indicator=UDIHelper.adaptToJavaUDI(indicator);
        updatedIndWithJUDI.add(indicator);
      }
 catch (      Throwable e) {
        log.error(e);
      }
    }
    updatedIndWithJUDI.add(indicator);
  }
  allIndics.clear();
  allIndics.addAll(updatedIndWithJUDI);
  stringDataFilter=analysisHandler.getStringDataFilter();
  EList<ModelElement> analyzedColumns=analysisHandler.getAnalyzedColumns();
  List<ModelElementIndicator> meIndicatorList=new ArrayList<ModelElementIndicator>();
  ModelElementIndicator currentIndicator=null;
  for (  ModelElement element : analyzedColumns) {
    TdColumn tdColumn=SwitchHelpers.COLUMN_SWITCH.doSwitch(element);
    TdXmlElementType xmlElement=SwitchHelpers.XMLELEMENTTYPE_SWITCH.doSwitch(element);
    MetadataColumn mdColumn=SwitchHelpers.METADATA_COLUMN_SWITCH.doSwitch(element);
    if (tdColumn == null && xmlElement == null && mdColumn == null) {
      continue;
    }
    RepositoryNode repNode=RepositoryNodeHelper.recursiveFind(element);
    if (repNode == null) {
      repNode=RepositoryNodeHelper.createRepositoryNode(element);
    }
    if (tdColumn == null && mdColumn != null) {
      currentIndicator=ModelElementIndicatorHelper.createDFColumnIndicator(repNode);
    }
 else     if (tdColumn != null) {
      currentIndicator=ModelElementIndicatorHelper.createModelElementIndicator(repNode);
    }
 else     if (xmlElement != null) {
      currentIndicator=ModelElementIndicatorHelper.createModelElementIndicator(repNode);
    }
    DataminingType dataminingType=DataminingType.get(analysisHandler.getDatamingType(element));
    MetadataHelper.setDataminingType(dataminingType == null ? DataminingType.NOMINAL : dataminingType,element);
    Collection<Indicator> indicatorList=analysisHandler.getIndicators(element);
    if (currentIndicator != null) {
      currentIndicator.setIndicators(indicatorList.toArray(new Indicator[indicatorList.size()]));
      meIndicatorList.add(currentIndicator);
    }
  }
  currentModelElementIndicators=meIndicatorList.toArray(new ModelElementIndicator[meIndicatorList.size()]);
}