Program: 139026
Project: 139026
Buggy source:
private List<Object[]> initDataSet(Indicator indicator,EMap<Indicator,AnalyzedDataSet> indicToRowMap,Object object){
  AnalyzedDataSet analyzedDataSet=indicToRowMap.get(indicator);
  List<Object[]> valueObjectList=null;
  if (analyzedDataSet == null) {
    analyzedDataSet=AnalysisFactory.eINSTANCE.createAnalyzedDataSet();
    indicToRowMap.put(indicator,analyzedDataSet);
    analyzedDataSet.setDataCount(analysis.getParameters().getMaxNumberRows());
    analyzedDataSet.setRecordSize(0);
  }
  if (indicator instanceof FrequencyIndicator || indicator instanceof MinLengthIndicator || indicator instanceof MaxLengthIndicator) {
    Map<Object,List<Object[]>> valueObjectListMap=analyzedDataSet.getFrequencyData();
    if (valueObjectListMap == null) {
      valueObjectListMap=new HashMap<Object,List<Object[]>>();
      analyzedDataSet.setFrequencyData(valueObjectListMap);
    }
    String key=null;
    if (object == null) {
      key="String_Node_Str";
    }
 else     if (indicator instanceof MinLengthIndicator || indicator instanceof MaxLengthIndicator) {
      key=String.valueOf(object.toString().length());
    }
 else     if (object.equals("String_Node_Str")) {
      key="String_Node_Str";
    }
 else     if (indicator instanceof PatternLowFreqIndicator) {
      key=((PatternLowFreqIndicator)indicator).convertCharacters(object.toString());
    }
 else     if (indicator instanceof PatternFreqIndicator) {
      key=((PatternFreqIndicator)indicator).convertCharacters(object.toString());
    }
 else {
      key=object.toString();
    }
    valueObjectList=valueObjectListMap.get(key);
    if (valueObjectList == null) {
      valueObjectList=new ArrayList<Object[]>();
      valueObjectListMap.put(key,valueObjectList);
    }
  }
 else   if (indicator.isInValidRow() || indicator.isValidRow()) {
    List<Object> patternData=analyzedDataSet.getPatternData();
    if (patternData == null) {
      patternData=new ArrayList<Object>();
      patternData.add(new ArrayList<Object[]>());
      patternData.add(new ArrayList<Object[]>());
      analyzedDataSet.setPatternData(patternData);
    }
    if (indicator.isInValidRow()) {
      if (patternData.get(AnalyzedDataSetImpl.INVALID_VALUE) instanceof List<?>) {
        valueObjectList=(ArrayList<Object[]>)patternData.get(AnalyzedDataSetImpl.INVALID_VALUE);
      }
    }
 else {
      valueObjectList=(ArrayList<Object[]>)patternData.get(AnalyzedDataSetImpl.VALID_VALUE);
    }
  }
 else {
    valueObjectList=analyzedDataSet.getData();
    if (valueObjectList == null) {
      valueObjectList=new ArrayList<Object[]>();
      analyzedDataSet.setData(valueObjectList);
    }
  }
  return valueObjectList;
}

Fixed version (ground truth):
private List<Object[]> initDataSet(Indicator indicator,EMap<Indicator,AnalyzedDataSet> indicToRowMap,Object object){
  AnalyzedDataSet analyzedDataSet=indicToRowMap.get(indicator);
  List<Object[]> valueObjectList=null;
  if (analyzedDataSet == null) {
    analyzedDataSet=AnalysisFactory.eINSTANCE.createAnalyzedDataSet();
    indicToRowMap.put(indicator,analyzedDataSet);
    analyzedDataSet.setDataCount(analysis.getParameters().getMaxNumberRows());
    analyzedDataSet.setRecordSize(0);
  }
  if (indicator instanceof FrequencyIndicator || indicator instanceof MinLengthIndicator || indicator instanceof MaxLengthIndicator) {
    Map<Object,List<Object[]>> valueObjectListMap=analyzedDataSet.getFrequencyData();
    if (valueObjectListMap == null) {
      valueObjectListMap=new HashMap<Object,List<Object[]>>();
      analyzedDataSet.setFrequencyData(valueObjectListMap);
    }
    String key=null;
    if (object == null) {
      key=SpecialValueDisplay.NULL_FIELD;
    }
 else     if (indicator instanceof MinLengthIndicator || indicator instanceof MaxLengthIndicator) {
      key=String.valueOf(object.toString().length());
    }
 else     if (object.equals("String_Node_Str")) {
      key=SpecialValueDisplay.EMPTY_FIELD;
    }
 else     if (indicator instanceof PatternLowFreqIndicator) {
      key=((PatternLowFreqIndicator)indicator).convertCharacters(object.toString());
    }
 else     if (indicator instanceof PatternFreqIndicator) {
      key=((PatternFreqIndicator)indicator).convertCharacters(object.toString());
    }
 else {
      key=object.toString();
    }
    valueObjectList=valueObjectListMap.get(key);
    if (valueObjectList == null) {
      valueObjectList=new ArrayList<Object[]>();
      valueObjectListMap.put(key,valueObjectList);
    }
  }
 else   if (indicator.isInValidRow() || indicator.isValidRow()) {
    List<Object> patternData=analyzedDataSet.getPatternData();
    if (patternData == null) {
      patternData=new ArrayList<Object>();
      patternData.add(new ArrayList<Object[]>());
      patternData.add(new ArrayList<Object[]>());
      analyzedDataSet.setPatternData(patternData);
    }
    if (indicator.isInValidRow()) {
      if (patternData.get(AnalyzedDataSetImpl.INVALID_VALUE) instanceof List<?>) {
        valueObjectList=(ArrayList<Object[]>)patternData.get(AnalyzedDataSetImpl.INVALID_VALUE);
      }
    }
 else {
      valueObjectList=(ArrayList<Object[]>)patternData.get(AnalyzedDataSetImpl.VALID_VALUE);
    }
  }
 else {
    valueObjectList=analyzedDataSet.getData();
    if (valueObjectList == null) {
      valueObjectList=new ArrayList<Object[]>();
      analyzedDataSet.setData(valueObjectList);
    }
  }
  return valueObjectList;
}