code: private Path writeChecksumFile(FileSystem fs, String name, 
          GenThread[] threads) throws IOException {
        Path checksumFile = new Path(rtc.output_dir, name + ".checksum");
        SequenceFile.Writer write = null;
        write = SequenceFile.createWriter(fs, fs.getConf(), checksumFile,
            Text.class, Text.class, CompressionType.NONE);
        try {
          for (GenThread rawThread: threads) {
            GenWriterThread thread = (GenWriterThread)rawThread;
            write.append(new Text(thread.outputPath.toString()), 
                new Text(Long.toString(thread.dc.getDirectoryChecksum())));
          } 
        } finally {
          if (write != null)
            write.close();
          write = null;
        }
        return checksumFile;
      }
docs: Each mapper will write one checksum file.
  checksum file contains N pairs where N is the number of threads
  Each pair is has two entries: outputPath and checksum
  outputPath is the directory of files written by the thread
  checksum is the CRC checksum of all files under that directory
  @param name checksum file name
  @param threads array of writer threads
  @return checksum file path
  @throws IOException