code: public static FileUtils.FileCopyResult unzip(
        final ByteSource byteSource,
        final File outDir,
        boolean cacheLocally
    ) throws IOException
    {
      return unzip(byteSource, outDir, FileUtils.IS_EXCEPTION, cacheLocally);
    }
docs: Unzip the byteSource to the output directory. If cacheLocally is true, the byteSource is cached to local disk before unzipping.
  This may cause more predictable behavior than trying to unzip a large file directly off a network stream, for example.
  
  @param byteSource   The ByteSource which supplies the zip data
  @param outDir       The output directory to put the contents of the zip
  @param cacheLocally A boolean flag to indicate if the data should be cached locally
  
  @return A FileCopyResult containing the result of writing the zip entries to disk
  
  @throws IOException