Program: 20985
Project: 20985
Buggy source:
@Override public void sendCommand(final ServiceCommand<?> mCommand){
  Thread thread=new Thread(new Runnable(){
    @SuppressWarnings("String_Node_Str") @Override public void run(){
      final ServiceCommand<ResponseListener<Object>> command=(ServiceCommand<ResponseListener<Object>>)mCommand;
      Object payload=command.getPayload();
      HttpRequestBase request=command.getRequest();
      request.addHeader(HttpMessage.USER_AGENT,HttpMessage.UDAP_USER_AGENT);
      HttpResponse response=null;
      if (payload != null && command.getHttpMethod().equalsIgnoreCase(ServiceCommand.TYPE_POST)) {
        HttpEntity entity=null;
        try {
          if (payload instanceof String) {
            entity=new StringEntity((String)payload);
          }
 else           if (payload instanceof JSONObject) {
            entity=new StringEntity(((JSONObject)payload).toString());
          }
        }
 catch (        UnsupportedEncodingException e) {
          e.printStackTrace();
        }
        ((HttpPost)request).setEntity(entity);
      }
      try {
        response=httpClient.execute(request);
        final int code=response.getStatusLine().getStatusCode();
        if (code == 200) {
          HttpEntity entity=response.getEntity();
          final String message=EntityUtils.toString(entity,"String_Node_Str");
          Util.postSuccess(command.getResponseListener(),message);
        }
 else {
          Util.postError(command.getResponseListener(),ServiceCommandError.getError(code));
        }
        response.getEntity().consumeContent();
      }
 catch (      ClientProtocolException e) {
        e.printStackTrace();
      }
catch (      IOException e) {
        e.printStackTrace();
      }
    }
  }
);
  thread.start();
}

Fixed version (ground truth):
@Override public void sendCommand(final ServiceCommand<?> mCommand){
  Thread thread=new Thread(new Runnable(){
    @SuppressWarnings("String_Node_Str") @Override public void run(){
      final ServiceCommand<ResponseListener<Object>> command=(ServiceCommand<ResponseListener<Object>>)mCommand;
      Object payload=command.getPayload();
      HttpRequestBase request=command.getRequest();
      request.addHeader(HttpMessage.USER_AGENT,HttpMessage.UDAP_USER_AGENT);
      request.addHeader(HttpMessage.CONTENT_TYPE_HEADER,HttpMessage.CONTENT_TYPE);
      HttpResponse response=null;
      if (payload != null && command.getHttpMethod().equalsIgnoreCase(ServiceCommand.TYPE_POST)) {
        HttpEntity entity=null;
        try {
          if (payload instanceof String) {
            entity=new StringEntity((String)payload);
          }
 else           if (payload instanceof JSONObject) {
            entity=new StringEntity(((JSONObject)payload).toString());
          }
        }
 catch (        UnsupportedEncodingException e) {
          e.printStackTrace();
        }
        ((HttpPost)request).setEntity(entity);
      }
      try {
        response=httpClient.execute(request);
        final int code=response.getStatusLine().getStatusCode();
        if (code == 200) {
          HttpEntity entity=response.getEntity();
          final String message=EntityUtils.toString(entity,"String_Node_Str");
          Util.postSuccess(command.getResponseListener(),message);
        }
 else {
          Util.postError(command.getResponseListener(),ServiceCommandError.getError(code));
        }
        response.getEntity().consumeContent();
      }
 catch (      ClientProtocolException e) {
        e.printStackTrace();
      }
catch (      IOException e) {
        e.printStackTrace();
      }
    }
  }
);
  thread.start();
}