code: public static FileUtils.FileCopyResult gzip(final File inFile, final File outFile, Predicate<Throwable> shouldRetry)
    {
      gzip(Files.asByteSource(inFile), Files.asByteSink(outFile), shouldRetry);
      return new FileUtils.FileCopyResult(outFile);
    }
docs: Gzips the input file to the output
  
  @param inFile      The file to gzip
  @param outFile     A target file to copy the uncompressed contents of inFile to
  @param shouldRetry Predicate on a potential throwable to determine if the copy should be attempted again.
  
  @return The result of the file copy
  
  @throws IOException