Program: 145054
Project: 145054
Buggy source:
public void send(){
  HttpConnection conn=null;
  DataInputStream is=null;
  OutputStream os=null;
  try {
    System.out.println("String_Node_Str" + this);
    conn=getConnection(this.getConnectionMethod());
    System.out.println("String_Node_Str" + conn);
    os=conn.openOutputStream();
    byte[] o=(byte[])this.getContent();
    System.out.println("String_Node_Str" + new String(o));
    StreamsUtil.writeToOutput(o,os);
    os.close();
    is=(DataInputStream)conn.openDataInputStream();
    ByteArrayOutputStream baos=new ByteArrayOutputStream();
    StreamsUtil.writeFromInputToOutput(is,baos);
    is.close();
    int responseCode=conn.getResponseCode();
    System.out.println("String_Node_Str" + responseCode);
    this.setResponseBody(baos.toByteArray());
    this.setResponseCode(responseCode);
    if (responseCode >= 200 && responseCode <= 299) {
      this.setStatus(TransportMessageStatus.SENT);
    }
 else {
      Logger.log("String_Node_Str",this.getTag() + "String_Node_Str" + responseCode);
    }
    conn.close();
  }
 catch (  Exception e) {
    e.printStackTrace();
    System.out.println("String_Node_Str" + e.getClass() + "String_Node_Str"+ e.getMessage());
    this.setFailureReason(WrappedException.printException(e));
    this.incrementFailureCount();
  }
 finally {
    if (os != null) {
      try {
        os.close();
      }
 catch (      IOException e) {
      }
    }
    if (is != null) {
      try {
        is.close();
      }
 catch (      IOException e) {
      }
    }
    if (conn != null)     try {
      conn.close();
    }
 catch (    IOException e) {
    }
  }
}

Fixed version (ground truth):
public void send(){
  HttpConnection conn=null;
  DataInputStream is=null;
  OutputStream os=null;
  try {
    System.out.println("String_Node_Str" + this);
    conn=getConnection(this.getConnectionMethod());
    System.out.println("String_Node_Str" + conn);
    os=conn.openOutputStream();
    byte[] o=(byte[])this.getContent();
    if (o != null) {
      System.out.println("String_Node_Str" + new String(o));
      StreamsUtil.writeToOutput(o,os);
    }
 else {
      System.out.println("String_Node_Str");
    }
    os.close();
    is=(DataInputStream)conn.openDataInputStream();
    ByteArrayOutputStream baos=new ByteArrayOutputStream();
    StreamsUtil.writeFromInputToOutput(is,baos);
    is.close();
    int responseCode=conn.getResponseCode();
    System.out.println("String_Node_Str" + responseCode);
    this.setResponseBody(baos.toByteArray());
    this.setResponseCode(responseCode);
    if (responseCode >= 200 && responseCode <= 299) {
      this.setStatus(TransportMessageStatus.SENT);
    }
 else {
      Logger.log("String_Node_Str",this.getTag() + "String_Node_Str" + responseCode);
    }
    conn.close();
  }
 catch (  Exception e) {
    e.printStackTrace();
    System.out.println("String_Node_Str" + e.getClass() + "String_Node_Str"+ e.getMessage());
    this.setFailureReason(WrappedException.printException(e));
    this.incrementFailureCount();
  }
 finally {
    if (os != null) {
      try {
        os.close();
      }
 catch (      IOException e) {
      }
    }
    if (is != null) {
      try {
        is.close();
      }
 catch (      IOException e) {
      }
    }
    if (conn != null)     try {
      conn.close();
    }
 catch (    IOException e) {
    }
  }
}