Program: 139354
Project: 139354
Buggy source:
public static String getIndicatorValue(Indicator indicator){
  IndicatorsSwitch<String> mySwitch=new IndicatorsSwitch<String>(){
    @Override public String caseAverageLengthIndicator(    AverageLengthIndicator object){
      return createStandardNumber(object.getAverageLength());
    }
    @Override public String caseBlankCountIndicator(    BlankCountIndicator object){
      return String.valueOf(object.getBlankCount());
    }
    @Override public String caseDefValueCountIndicator(    DefValueCountIndicator object){
      return String.valueOf(object.getDefaultValCount());
    }
    @Override public String caseDistinctCountIndicator(    DistinctCountIndicator object){
      return String.valueOf(object.getDistinctValueCount());
    }
    @Override public String caseDuplicateCountIndicator(    DuplicateCountIndicator object){
      return String.valueOf(object.getDuplicateValueCount());
    }
    @Override public String caseMaxLengthIndicator(    MaxLengthIndicator object){
      return String.valueOf(object.getLength());
    }
    @Override public String caseMeanIndicator(    MeanIndicator object){
      return createStandardNumber(object.getMean());
    }
    @Override public String caseMedianIndicator(    MedianIndicator object){
      return createStandardNumber(object.getMedian());
    }
    @Override public String caseMinLengthIndicator(    MinLengthIndicator object){
      return String.valueOf(object.getLength());
    }
    @Override public String caseModeIndicator(    ModeIndicator object){
      return String.valueOf(object.getMode());
    }
    @Override public String caseNullCountIndicator(    NullCountIndicator object){
      return String.valueOf(object.getNullCount());
    }
    @Override public String casePatternMatchingIndicator(    PatternMatchingIndicator object){
      Long matchingValueCount=object.getMatchingValueCount();
      Long notMatchingValueCount=object.getNotMatchingValueCount();
      Double total=matchingValueCount.doubleValue() + notMatchingValueCount.doubleValue();
      return Double.valueOf(total > 0 ? matchingValueCount.doubleValue() * 100 / total : Double.NaN).toString();
    }
    @Override public String caseRowCountIndicator(    RowCountIndicator object){
      return String.valueOf(object.getCount());
    }
    @Override public String caseUniqueCountIndicator(    UniqueCountIndicator object){
      return String.valueOf(object.getUniqueValueCount());
    }
    @Override public String caseValueIndicator(    ValueIndicator object){
      return object.getValue();
    }
  }
;
  return mySwitch.doSwitch(indicator);
}

Fixed version (ground truth):
/** 
 * DOC bZhou Comment method "getIndicatorValue".
 * @param indicator
 * @return
 */
public static String getIndicatorValue(Indicator indicator){
  IndicatorsSwitch<String> mySwitch=new IndicatorsSwitch<String>(){
    @Override public String caseAverageLengthIndicator(    AverageLengthIndicator object){
      return createStandardNumber(object.getAverageLength());
    }
    @Override public String caseBlankCountIndicator(    BlankCountIndicator object){
      return String.valueOf(object.getBlankCount());
    }
    @Override public String caseDefValueCountIndicator(    DefValueCountIndicator object){
      return String.valueOf(object.getDefaultValCount());
    }
    @Override public String caseDistinctCountIndicator(    DistinctCountIndicator object){
      return String.valueOf(object.getDistinctValueCount());
    }
    @Override public String caseDuplicateCountIndicator(    DuplicateCountIndicator object){
      return String.valueOf(object.getDuplicateValueCount());
    }
    @Override public String caseMaxLengthIndicator(    MaxLengthIndicator object){
      return String.valueOf(object.getLength());
    }
    @Override public String caseMeanIndicator(    MeanIndicator object){
      return createStandardNumber(object.getMean());
    }
    @Override public String caseMedianIndicator(    MedianIndicator object){
      return createStandardNumber(object.getMedian());
    }
    @Override public String caseMinLengthIndicator(    MinLengthIndicator object){
      return String.valueOf(object.getLength());
    }
    @Override public String caseModeIndicator(    ModeIndicator object){
      return String.valueOf(object.getMode());
    }
    @Override public String caseNullCountIndicator(    NullCountIndicator object){
      return String.valueOf(object.getNullCount());
    }
    @Override public String casePatternMatchingIndicator(    PatternMatchingIndicator object){
      return String.valueOf(object.getMatchingValueCount());
    }
    @Override public String caseRowCountIndicator(    RowCountIndicator object){
      return String.valueOf(object.getCount());
    }
    @Override public String caseUniqueCountIndicator(    UniqueCountIndicator object){
      return String.valueOf(object.getUniqueValueCount());
    }
    @Override public String caseValueIndicator(    ValueIndicator object){
      return object.getValue();
    }
  }
;
  IndicatorSqlSwitch<String> sqlSwitch=new IndicatorSqlSwitch<String>(){
    @Override public String caseWhereRuleIndicator(    WhereRuleIndicator object){
      return String.valueOf(object.getUserCount());
    }
  }
;
  String result=mySwitch.doSwitch(indicator);
  return result == null ? sqlSwitch.doSwitch(indicator) : result;
}