Program: 18593
Project: 18593
Buggy source:
/** 
 * Gets the consumer service trends.
 * @param serviceName the service name
 * @param operationName the operation name
 * @param date1 the date1
 * @param date2 the date2
 * @param durationHrs the duration hrs
 * @param consumerNames the consumer names
 * @return the consumer service trends
 */
protected void getConsumerServiceTrends(final String serviceName,final String operationName,final long date1,final long date2,final int durationHrs,List<String> consumerNames){
  if (consumerNames != null && consumerNames.size() > 0) {
    ConsumerTabCallbackQueue queue=new ConsumerCallCountTrendCallbackQueue(serviceName,operationName,durationHrs,ConsumerPresenter.this.view);
    final Iterator<String> consuemrIterator=consumerNames.iterator();
    String consumerName=null;
    while (consuemrIterator.hasNext()) {
      consumerName=consuemrIterator.next();
      GWT.log("String_Node_Str" + consumerName);
      CriteriaInfoImpl criteriaInfo=new CriteriaInfoImpl();
      criteriaInfo.setMetricName("String_Node_Str");
      criteriaInfo.setConsumerName(consumerName);
      criteriaInfo.setServiceName(serviceName);
      if (operationName != null) {
        criteriaInfo.setOperationName(operationName);
      }
      criteriaInfo.setRoleType("String_Node_Str");
      ParallelCallback<List<TimeSlotData>> cllbck=new ParallelCallback<List<TimeSlotData>>();
      cllbck.setId(consumerName);
      queue.add(cllbck);
      MetricValue firstDateValue=new MetricValue(criteriaInfo,date1,minAggregationPeriod * durationHrs,(int)minAggregationPeriod,"String_Node_Str");
      MetricValue secondDateValue=new MetricValue(criteriaInfo,date2,minAggregationPeriod * durationHrs,(int)minAggregationPeriod,"String_Node_Str");
      queryService.getMetricValueTrend(firstDateValue,secondDateValue,cllbck);
    }
  }
 else {
    ConsumerPresenter.this.view.claerConsumerServiceCallTrendGraph();
  }
}

Fixed version (ground truth):
/** 
 * Gets the consumer service trends.
 * @param serviceName the service name
 * @param operationName the operation name
 * @param date1 the date1
 * @param date2 the date2
 * @param durationHrs the duration hrs
 * @param consumerNames the consumer names
 * @return the consumer service trends
 */
protected void getConsumerServiceTrends(final String serviceName,final String operationName,final long date1,final long date2,final int durationHrs,List<String> consumerNames){
  if (consumerNames != null && consumerNames.size() > 0) {
    ConsumerTabCallbackQueue queue=new ConsumerCallCountTrendCallbackQueue(serviceName,operationName,durationHrs,ConsumerPresenter.this.view);
    final Iterator<String> consuemrIterator=consumerNames.iterator();
    String consumerName=null;
    while (consuemrIterator.hasNext()) {
      consumerName=consuemrIterator.next();
      GWT.log("String_Node_Str" + consumerName);
      CriteriaInfoImpl criteriaInfo=new CriteriaInfoImpl();
      criteriaInfo.setMetricName("String_Node_Str");
      criteriaInfo.setConsumerName(consumerName);
      criteriaInfo.setServiceName(serviceName);
      if (operationName != null) {
        criteriaInfo.setOperationName(operationName);
      }
      criteriaInfo.setRoleType("String_Node_Str");
      ParallelCallback<List<TimeSlotData>> cllbck=new ParallelCallback<List<TimeSlotData>>();
      cllbck.setId(consumerName);
      queue.add(cllbck);
      MetricValue firstDateValue=new MetricValue(criteriaInfo,date1,minAggregationPeriod * durationHrs,(int)minAggregationPeriod,"String_Node_Str");
      MetricValue secondDateValue=new MetricValue(criteriaInfo,date2,minAggregationPeriod * durationHrs,(int)minAggregationPeriod,"String_Node_Str");
      queryService.getMetricValueTrend(firstDateValue,secondDateValue,cllbck);
    }
  }
 else {
    ConsumerPresenter.this.view.clearConsumerServiceCallTrendGraph();
  }
}