Program: 90222
Project: 90222
Buggy source:
/** 
 * GZip each of the files in fromDir, placing the result in toDir (which will be created) with names having .gz appended.  All non-file (directory, link, etc) entries in the source directory will be skipped with a quiet little log message.
 * @param fromDir An existing directory
 * @param toDir A directory where gzipped files will be placed.  Thisdirectory must not previously exist. If the operation is not successfull, the directory will not be created.
 */
public static void gzipFiles(File fromDir,File toDir){
  ArgumentNotValid.checkNotNull(fromDir,"String_Node_Str");
  ArgumentNotValid.checkNotNull(toDir,"String_Node_Str");
  ArgumentNotValid.checkTrue(fromDir.isDirectory(),"String_Node_Str" + fromDir + "String_Node_Str");
  ArgumentNotValid.checkTrue(!toDir.exists(),"String_Node_Str" + toDir + "String_Node_Str");
  File tmpDir=null;
  try {
    tmpDir=FileUtils.createUniqueTempDir(toDir.getParentFile(),toDir.getName());
    File[] fromFiles=fromDir.listFiles();
    for (    File f : fromFiles) {
      if (f.isFile()) {
        gzipFileInto(f,tmpDir);
      }
 else {
        log.trace("String_Node_Str" + f + "String_Node_Str");
      }
    }
    if (!tmpDir.renameTo(toDir)) {
      throw new IOFailure("String_Node_Str" + tmpDir + "String_Node_Str"+ toDir+ "String_Node_Str");
    }
  }
  finally {
    if (tmpDir != null) {
      try {
        FileUtils.removeRecursively(tmpDir);
      }
 catch (      IOFailure e) {
        log.debug("String_Node_Str" + "String_Node_Str" + tmpDir + "String_Node_Str"+ toDir+ "String_Node_Str",e);
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * GZip each of the files in fromDir, placing the result in toDir (which will be created) with names having .gz appended.  All non-file (directory, link, etc) entries in the source directory will be skipped with a quiet little log message.
 * @param fromDir An existing directory
 * @param toDir A directory where gzipped files will be placed.  Thisdirectory must not previously exist. If the operation is not successfull, the directory will not be created.
 */
public static void gzipFiles(File fromDir,File toDir){
  ArgumentNotValid.checkNotNull(fromDir,"String_Node_Str");
  ArgumentNotValid.checkNotNull(toDir,"String_Node_Str");
  ArgumentNotValid.checkTrue(fromDir.isDirectory(),"String_Node_Str" + fromDir + "String_Node_Str");
  ArgumentNotValid.checkTrue(!toDir.exists(),"String_Node_Str" + toDir + "String_Node_Str");
  File tmpDir=null;
  try {
    tmpDir=FileUtils.createUniqueTempDir(toDir.getAbsoluteFile().getParentFile(),toDir.getName());
    File[] fromFiles=fromDir.listFiles();
    for (    File f : fromFiles) {
      if (f.isFile()) {
        gzipFileInto(f,tmpDir);
      }
 else {
        log.trace("String_Node_Str" + f + "String_Node_Str");
      }
    }
    if (!tmpDir.renameTo(toDir)) {
      throw new IOFailure("String_Node_Str" + tmpDir + "String_Node_Str"+ toDir+ "String_Node_Str");
    }
  }
  finally {
    if (tmpDir != null) {
      try {
        FileUtils.removeRecursively(tmpDir);
      }
 catch (      IOFailure e) {
        log.debug("String_Node_Str" + "String_Node_Str" + tmpDir + "String_Node_Str"+ toDir+ "String_Node_Str",e);
      }
    }
  }
}