Program: 4623
Project: 4623
Buggy source:
private void requestFromOneHost(GWebCacheRequest request,BootstrapServer server){
  if (request == null) {
    throw new NullPointerException("String_Node_Str");
  }
  if (server == null) {
    throw new NullPointerException("String_Node_Str");
  }
  BufferedReader in=null;
  try {
    URL url=new URL(server.getURL().toString() + "String_Node_Str" + CommonUtils.QHD_VENDOR_NAME+ "String_Node_Str"+ URLEncoder.encode(CommonUtils.getLimeWireVersion())+ "String_Node_Str"+ request.parameters());
    HttpURLConnection connection=(HttpURLConnection)url.openConnection();
    connection.setUseCaches(false);
    connection.setRequestProperty("String_Node_Str",CommonUtils.getHttpServer());
    connection.setRequestProperty(HTTPHeaderName.CONNECTION.httpStringValue(),"String_Node_Str");
    try {
      in=new BufferedReader(new InputStreamReader(connection.getInputStream(),"String_Node_Str"));
    }
 catch (    NullPointerException e) {
      throw new IOException("String_Node_Str");
    }
    boolean firstLine=true;
    boolean errors=false;
    while (true) {
      String line=in.readLine();
      if (line == null)       break;
      if (firstLine && StringUtils.startsWithIgnoreCase(line,"String_Node_Str")) {
        request.handleError(server);
        errors=true;
      }
 else {
        request.handleResponseData(server,line);
      }
      firstLine=false;
    }
    if (!errors)     _lastConnectable=server;
  }
 catch (  IOException ioe) {
    request.handleError(server);
  }
 finally {
    if (in != null)     try {
      in.close();
    }
 catch (    IOException e) {
    }
  }
}

Fixed version (ground truth):
private void requestFromOneHost(GWebCacheRequest request,BootstrapServer server){
  if (request == null) {
    throw new NullPointerException("String_Node_Str");
  }
  if (server == null) {
    throw new NullPointerException("String_Node_Str");
  }
  BufferedReader in=null;
  try {
    URL url=new URL(server.getURL().toString() + "String_Node_Str" + CommonUtils.QHD_VENDOR_NAME+ "String_Node_Str"+ URLEncoder.encode(CommonUtils.getLimeWireVersion())+ "String_Node_Str"+ request.parameters());
    HttpURLConnection connection=(HttpURLConnection)url.openConnection();
    connection.setUseCaches(false);
    connection.setRequestProperty("String_Node_Str",CommonUtils.getHttpServer());
    connection.setRequestProperty(HTTPHeaderName.CONNECTION.httpStringValue(),"String_Node_Str");
    try {
      in=new BufferedReader(new InputStreamReader(connection.getInputStream(),"String_Node_Str"));
    }
 catch (    NullPointerException e) {
      throw new IOException("String_Node_Str");
    }
catch (    ArrayIndexOutOfBoundsException e) {
      throw new IOException("String_Node_Str");
    }
    boolean firstLine=true;
    boolean errors=false;
    while (true) {
      String line=in.readLine();
      if (line == null)       break;
      if (firstLine && StringUtils.startsWithIgnoreCase(line,"String_Node_Str")) {
        request.handleError(server);
        errors=true;
      }
 else {
        request.handleResponseData(server,line);
      }
      firstLine=false;
    }
    if (!errors)     _lastConnectable=server;
  }
 catch (  IOException ioe) {
    request.handleError(server);
  }
 finally {
    if (in != null)     try {
      in.close();
    }
 catch (    IOException e) {
    }
  }
}