Program: 18584
Project: 18584
Buggy source:
public void getServiceConsumers(final String serviceName,final AsyncCallback<Set<String>> callback){
  Set<String> serviceNames=new HashSet<String>();
  serviceNames.add(serviceName);
  final String url=MetricsMetaDataRequest.getRestURL("String_Node_Str",serviceNames,"String_Node_Str");
  RequestBuilder builder=new RequestBuilder(RequestBuilder.GET,URL.encode(url));
  try {
    builder.sendRequest(null,new RequestCallback(){
      public void onError(      Request request,      Throwable err){
        callback.onFailure(err);
      }
      public void onResponseReceived(      final Request request,      final Response response){
        if (response.getStatusCode() != Response.SC_OK) {
          GWT.log("String_Node_Str" + url + "String_Node_Str"+ response.getStatusCode()+ "String_Node_Str"+ response.getText());
          callback.onFailure(getErrorAsThrowable(response));
        }
 else         if (response.getHeader(ERROR_HEADER) != null) {
          GWT.log("String_Node_Str" + url + "String_Node_Str"+ response.getStatusCode()+ "String_Node_Str"+ response.getText());
          callback.onFailure(getErrorAsThrowable(response));
        }
 else {
          MetricsMetaDataResponse metaDataResponse=MetricsMetaDataResponse.fromJSON(response.getText());
          if (metaDataResponse == null)           callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData()));
 else {
            Set<String> consumerNames=metaDataResponse.getOrderedResourceEntityResponseNames();
            callback.onSuccess(consumerNames);
          }
        }
      }
    }
);
  }
 catch (  RequestException x) {
    callback.onFailure(x);
  }
}

Fixed version (ground truth):
public void getServiceConsumers(final String serviceName,final AsyncCallback<Set<String>> callback){
  Set<String> serviceNames=new HashSet<String>();
  serviceNames.add(serviceName);
  final String url=MetricsMetaDataRequest.getRestURL("String_Node_Str",serviceNames,"String_Node_Str");
  RequestBuilder builder=new RequestBuilder(RequestBuilder.GET,URL.encode(url));
  try {
    builder.sendRequest(null,new RequestCallback(){
      public void onError(      Request request,      Throwable err){
        callback.onFailure(err);
      }
      public void onResponseReceived(      final Request request,      final Response response){
        if (response.getStatusCode() != Response.SC_OK) {
          GWT.log("String_Node_Str" + url + "String_Node_Str"+ response.getStatusCode()+ "String_Node_Str"+ response.getText());
          callback.onFailure(getErrorAsThrowable(response));
        }
 else         if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) {
          GWT.log("String_Node_Str" + url + "String_Node_Str"+ response.getStatusCode()+ "String_Node_Str"+ response.getText());
          callback.onFailure(getErrorAsThrowable(response));
        }
 else {
          MetricsMetaDataResponse metaDataResponse=MetricsMetaDataResponse.fromJSON(response.getText());
          if (metaDataResponse == null)           callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData()));
 else {
            Set<String> consumerNames=metaDataResponse.getOrderedResourceEntityResponseNames();
            callback.onSuccess(consumerNames);
          }
        }
      }
    }
);
  }
 catch (  RequestException x) {
    callback.onFailure(x);
  }
}