Program: 7580
Project: 7580
Buggy source:
/** 
 * {@inheritDoc}
 */
@Override public HttpResponse doRequest(String url,HttpMethod method,Map<String,Object> requestParameters,String charset) throws IOException {
  if (method == HttpMethod.GET && requestParameters != null && requestParameters.size() > 0) {
    for (    String key : requestParameters.keySet()) {
      String param=key + "String_Node_Str" + requestParameters.get(key);
      url+=(url.contains("String_Node_Str") ? "String_Node_Str" : "String_Node_Str") + param;
    }
  }
  HttpURLConnection conn=getHttpURLConnection(url,method);
  if (method == HttpMethod.POST && requestParameters != null && requestParameters.size() > 0) {
    OutputStream os=null;
    OutputStreamWriter writer=null;
    try {
      conn.setDoOutput(true);
      os=conn.getOutputStream();
      writer=new OutputStreamWriter(os);
      for (      String key : requestParameters.keySet()) {
        writer.append(key);
        writer.append("String_Node_Str");
        writer.append(requestParameters.get(key).toString());
      }
    }
  finally {
      if (writer != null) {
        try {
          writer.close();
        }
 catch (        Exception e) {
        }
      }
      if (os != null) {
        try {
          os.close();
        }
 catch (        Exception e) {
        }
      }
    }
  }
  HttpResponse response=new HttpResponse();
  response.setStatusCode(conn.getResponseCode());
  response.setHeaders(conn.getHeaderFields());
  try {
    response.setContent(getResponseCotent(conn,charset));
  }
 catch (  IOException e) {
    throw e;
  }
  return response;
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 */
@Override public HttpResponse doRequest(String url,HttpMethod method,Map<String,Object> requestParameters,String charset) throws IOException {
  if (method == HttpMethod.GET && requestParameters != null && requestParameters.size() > 0) {
    for (    String key : requestParameters.keySet()) {
      String param=key + "String_Node_Str" + requestParameters.get(key);
      url+=(url.contains("String_Node_Str") ? "String_Node_Str" : "String_Node_Str") + param;
    }
  }
  HttpURLConnection conn=getHttpURLConnection(url,method);
  if (method == HttpMethod.POST && requestParameters != null && requestParameters.size() > 0) {
    OutputStream os=null;
    OutputStreamWriter writer=null;
    try {
      conn.setDoOutput(true);
      os=conn.getOutputStream();
      writer=new OutputStreamWriter(os);
      for (      String key : requestParameters.keySet()) {
        writer.append("String_Node_Str");
        writer.append(key);
        writer.append("String_Node_Str");
        writer.append(requestParameters.get(key).toString());
      }
    }
  finally {
      if (writer != null) {
        try {
          writer.close();
        }
 catch (        Exception e) {
        }
      }
      if (os != null) {
        try {
          os.close();
        }
 catch (        Exception e) {
        }
      }
    }
  }
  HttpResponse response=new HttpResponse();
  response.setStatusCode(conn.getResponseCode());
  response.setHeaders(conn.getHeaderFields());
  try {
    response.setContent(getResponseCotent(conn,charset));
  }
 catch (  IOException e) {
    throw e;
  }
  return response;
}