Program: 3581
Project: 3581
Buggy source:
/** 
 * Create a list of the found history records.
 * @param bitstreams the list of history records to be iterated over.
 * @param osw the output stream to write to.
 * @throws IOException if io error occurs
 */
private void printDSpaceInfoRecords(List bitstreams,OutputStreamWriter osw) throws IOException {
  Iterator iter=bitstreams.iterator();
  while (iter.hasNext()) {
    DSpaceBitstreamInfo info=(DSpaceBitstreamInfo)iter.next();
    StringBuilder buf=new StringBuilder(1000);
    buf.append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getBitstreamFormatId()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getDeleted()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getBitstreamId()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getChecksumAlgorithm()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getInternalId()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getName()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getSize()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getSource()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getStoredChecksum()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getStoreNumber()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getUserFormatDescription()).append("String_Node_Str");
    buf.append("String_Node_Str");
    osw.write(buf.toString());
  }
}

Fixed version (ground truth):
/** 
 * Create a list of the found history records.
 * @param bitstreams the list of history records to be iterated over.
 * @param osw the output stream to write to.
 * @throws IOException if io error occurs
 */
private void printDSpaceInfoRecords(List bitstreams,OutputStreamWriter osw) throws IOException {
  Iterator iter=bitstreams.iterator();
  while (iter.hasNext()) {
    DSpaceBitstreamInfo info=(DSpaceBitstreamInfo)iter.next();
    StringBuffer buf=new StringBuffer(1000);
    buf.append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getBitstreamFormatId()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getDeleted()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getBitstreamId()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getChecksumAlgorithm()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getInternalId()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getName()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getSize()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getSource()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getStoredChecksum()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getStoreNumber()).append("String_Node_Str");
    buf.append(msg("String_Node_Str")).append("String_Node_Str").append(info.getUserFormatDescription()).append("String_Node_Str");
    buf.append("String_Node_Str");
    osw.write(buf.toString());
  }
}