Program: 18586
Project: 18586
Buggy source:
private void getMetricValueForDate(MetricValue mv,final AsyncCallback<TimeSlotData> callback) throws RequestException {
  final TimeSlotData data=new TimeSlotData();
  data.setReturnData(new ArrayList<TimeSlotValue>(0));
  final String url=URL.encode(MetricValueRequest.getRestURL(mv));
  RequestBuilder builder=new RequestBuilder(RequestBuilder.GET,url);
  builder.setTimeoutMillis(60000);
  GWT.log("String_Node_Str" + url);
  builder.sendRequest(null,new RequestCallback(){
    public void onError(    Request request,    Throwable err){
      GWT.log("String_Node_Str",err);
      callback.onFailure(err);
    }
    public void onResponseReceived(    Request request,    Response response){
      if (response.getStatusCode() != Response.SC_OK) {
        GWT.log("String_Node_Str" + response.getStatusCode());
        callback.onFailure(new RequestException("String_Node_Str" + response.getStatusCode()));
      }
 else       if (response.getHeader(ERROR_HEADER) != null) {
        GWT.log("String_Node_Str" + response.getHeadersAsString());
        callback.onFailure(new RequestException("String_Node_Str" + response.getHeadersAsString()));
      }
 else {
        MetricValueResponse graphResponse=MetricValueResponse.fromJSON(response.getText());
        if (graphResponse == null) {
          GWT.log("String_Node_Str");
        }
 else {
          JsArray<MetricGraphDataJS> rows=graphResponse.getReturnData();
          List<TimeSlotValue> results=new ArrayList<TimeSlotValue>();
          if (rows != null) {
            for (int i=0; i < rows.length(); i++) {
              MetricGraphDataJS js=rows.get(i);
              results.add(js);
            }
          }
          data.getReturnData().addAll(results);
          callback.onSuccess(data);
        }
      }
    }
  }
);
}

Fixed version (ground truth):
private void getMetricValueForDate(MetricValue mv,final AsyncCallback<TimeSlotData> callback) throws RequestException {
  final TimeSlotData data=new TimeSlotData();
  data.setReturnData(new ArrayList<TimeSlotValue>(0));
  final String url=URL.encode(MetricValueRequest.getRestURL(mv));
  RequestBuilder builder=new RequestBuilder(RequestBuilder.GET,url);
  builder.setTimeoutMillis(60000);
  GWT.log("String_Node_Str" + url);
  builder.sendRequest(null,new RequestCallback(){
    public void onError(    Request request,    Throwable err){
      GWT.log("String_Node_Str",err);
      callback.onFailure(err);
    }
    public void onResponseReceived(    Request request,    Response response){
      if (response.getStatusCode() != Response.SC_OK) {
        GWT.log("String_Node_Str" + response.getStatusCode());
        callback.onFailure(new RequestException("String_Node_Str" + response.getStatusCode()));
      }
 else       if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) {
        GWT.log("String_Node_Str" + response.getHeadersAsString());
        callback.onFailure(new RequestException("String_Node_Str" + response.getHeadersAsString()));
      }
 else {
        MetricValueResponse graphResponse=MetricValueResponse.fromJSON(response.getText());
        if (graphResponse == null) {
          GWT.log("String_Node_Str");
        }
 else {
          JsArray<MetricGraphDataJS> rows=graphResponse.getReturnData();
          List<TimeSlotValue> results=new ArrayList<TimeSlotValue>();
          if (rows != null) {
            for (int i=0; i < rows.length(); i++) {
              MetricGraphDataJS js=rows.get(i);
              results.add(js);
            }
          }
          data.getReturnData().addAll(results);
          callback.onSuccess(data);
        }
      }
    }
  }
);
}