Program: 95004
Project: 95004
Buggy source:
protected void openStreams(Map options) throws IncomingFileTransferException {
  URL theURL=null;
  try {
    theURL=getRemoteFileURL();
    urlConnection=theURL.openConnection();
    setInputStream(urlConnection.getInputStream());
    setFileLength(urlConnection.getContentLength());
    fileid=new FileTransferID(getRetrieveNamespace(),theURL);
    listener.handleTransferEvent(new IIncomingFileTransferReceiveStartEvent(){
      private static final long serialVersionUID=-59096575294481755L;
      public IFileID getFileID(){
        return remoteFileID;
      }
      public IIncomingFileTransfer receive(      File localFileToSave) throws IOException {
        setOutputStream(new BufferedOutputStream(new FileOutputStream(localFileToSave)));
        job=new FileTransferJob(getRemoteFileURL().toString());
        job.schedule();
        return UrlConnectionRetrieveFileTransfer.this;
      }
      public String toString(){
        StringBuffer sb=new StringBuffer("String_Node_Str");
        sb.append("String_Node_Str").append(done).append("String_Node_Str");
        sb.append("String_Node_Str").append(bytesReceived).append("String_Node_Str");
        return sb.toString();
      }
      public void cancel(){
        hardClose();
      }
      public IIncomingFileTransfer receive(      OutputStream streamToStore) throws IOException {
        setOutputStream(new BufferedOutputStream(streamToStore));
        setCloseOutputStream(false);
        job=new FileTransferJob(getRemoteFileURL().toString());
        job.schedule();
        return UrlConnectionRetrieveFileTransfer.this;
      }
    }
);
  }
 catch (  Exception e) {
    throw new IncomingFileTransferException("String_Node_Str" + theURL.toString(),e);
  }
}

Fixed version (ground truth):
protected void openStreams(Map options) throws IncomingFileTransferException {
  URL theURL=null;
  try {
    theURL=getRemoteFileURL();
    urlConnection=theURL.openConnection();
    setInputStream(urlConnection.getInputStream());
    setFileLength(urlConnection.getContentLength());
    fileid=new FileTransferID(getRetrieveNamespace(),theURL);
    listener.handleTransferEvent(new IIncomingFileTransferReceiveStartEvent(){
      private static final long serialVersionUID=-59096575294481755L;
      public IFileID getFileID(){
        return remoteFileID;
      }
      public IIncomingFileTransfer receive(      File localFileToSave) throws IOException {
        setOutputStream(new BufferedOutputStream(new FileOutputStream(localFileToSave)));
        job=new FileTransferJob(getRemoteFileURL().toString());
        job.schedule();
        return UrlConnectionRetrieveFileTransfer.this;
      }
      public String toString(){
        StringBuffer sb=new StringBuffer("String_Node_Str");
        sb.append("String_Node_Str").append(done).append("String_Node_Str");
        sb.append("String_Node_Str").append(bytesReceived).append("String_Node_Str");
        return sb.toString();
      }
      public void cancel(){
        hardClose();
      }
      public IIncomingFileTransfer receive(      OutputStream streamToStore) throws IOException {
        setOutputStream(streamToStore);
        setCloseOutputStream(false);
        job=new FileTransferJob(getRemoteFileURL().toString());
        job.schedule();
        return UrlConnectionRetrieveFileTransfer.this;
      }
    }
);
  }
 catch (  Exception e) {
    throw new IncomingFileTransferException("String_Node_Str" + theURL.toString(),e);
  }
}