Program: 12384
Project: 12384
Buggy source:
/** 
 * <p> Execute request without returning data from server. </p> <p> Call   {@code responseAsString},   {@code responseAsBytes}, or   {@code responseAsInputStream}after   {@code execute} if the response body is required.</p>
 * @return An {@link HttpConnection} which can be used to obtain the response body
 * @throws IOException if there was a problem writing data to the server
 */
public HttpConnection execute() throws IOException {
  boolean retry=true;
  int n=numberOfRetries;
  while (retry && n-- > 0) {
    System.setProperty("String_Node_Str","String_Node_Str");
    if (proxy != null) {
      connection=(HttpURLConnection)url.openConnection(proxy);
    }
 else {
      connection=(HttpURLConnection)url.openConnection();
    }
    connection.setRequestProperty("String_Node_Str",AgentHelper.USER_AGENT);
    if (url.getUserInfo() != null) {
      requestInterceptors.add(new BasicAuthInterceptor(url.getUserInfo()));
    }
    connection.setDoInput(true);
    connection.setRequestMethod(requestMethod);
    if (contentType != null) {
      connection.setRequestProperty("String_Node_Str",contentType);
    }
    HttpConnectionInterceptorContext currentContext=new HttpConnectionInterceptorContext(this);
    for (    HttpConnectionRequestInterceptor requestInterceptor : requestInterceptors) {
      currentContext=requestInterceptor.interceptRequest(currentContext);
    }
    for (    String key : requestProperties.keySet()) {
      connection.setRequestProperty(key,requestProperties.get(key));
    }
    if (input != null) {
      connection.setDoOutput(true);
      if (inputLength != -1) {
        connection.setFixedLengthStreamingMode((int)this.inputLength);
      }
 else {
        connection.setChunkedStreamingMode(1024);
      }
      connection.setRequestProperty("String_Node_Str","String_Node_Str");
      int bufSize=1024;
      int nRead=0;
      byte[] buf=new byte[bufSize];
      InputStream is=input;
      OutputStream os=connection.getOutputStream();
      while ((nRead=is.read(buf)) >= 0) {
        os.write(buf,0,nRead);
      }
      os.flush();
    }
    for (    HttpConnectionResponseInterceptor responseInterceptor : responseInterceptors) {
      currentContext=responseInterceptor.interceptResponse(currentContext);
    }
    retry=currentContext.replayRequest;
    if (n == 0) {
      logger.info("String_Node_Str");
    }
  }
  return this;
}

Fixed version (ground truth):
/** 
 * <p> Execute request without returning data from server. </p> <p> Call   {@code responseAsString},   {@code responseAsBytes}, or   {@code responseAsInputStream}after   {@code execute} if the response body is required.</p>
 * @return An {@link HttpConnection} which can be used to obtain the response body
 * @throws IOException if there was a problem writing data to the server
 */
public HttpConnection execute() throws IOException {
  boolean retry=true;
  int n=numberOfRetries;
  while (retry && n-- > 0) {
    if (proxy != null) {
      connection=(HttpURLConnection)url.openConnection(proxy);
    }
 else {
      connection=(HttpURLConnection)url.openConnection();
    }
    connection.setRequestProperty("String_Node_Str",AgentHelper.USER_AGENT);
    if (url.getUserInfo() != null) {
      requestInterceptors.add(new BasicAuthInterceptor(url.getUserInfo()));
    }
    connection.setDoInput(true);
    connection.setRequestMethod(requestMethod);
    if (contentType != null) {
      connection.setRequestProperty("String_Node_Str",contentType);
    }
    HttpConnectionInterceptorContext currentContext=new HttpConnectionInterceptorContext(this);
    for (    HttpConnectionRequestInterceptor requestInterceptor : requestInterceptors) {
      currentContext=requestInterceptor.interceptRequest(currentContext);
    }
    for (    String key : requestProperties.keySet()) {
      connection.setRequestProperty(key,requestProperties.get(key));
    }
    if (input != null) {
      connection.setDoOutput(true);
      if (inputLength != -1) {
        connection.setFixedLengthStreamingMode((int)this.inputLength);
      }
 else {
        connection.setChunkedStreamingMode(1024);
      }
      connection.setRequestProperty("String_Node_Str","String_Node_Str");
      int bufSize=1024;
      int nRead=0;
      byte[] buf=new byte[bufSize];
      InputStream is=input;
      OutputStream os=connection.getOutputStream();
      while ((nRead=is.read(buf)) >= 0) {
        os.write(buf,0,nRead);
      }
      os.flush();
    }
    for (    HttpConnectionResponseInterceptor responseInterceptor : responseInterceptors) {
      currentContext=responseInterceptor.interceptResponse(currentContext);
    }
    retry=currentContext.replayRequest;
    if (n == 0) {
      logger.info("String_Node_Str");
    }
  }
  return this;
}