code: public static Archiver createArchiver(String archiveFormat, String compression) throws IllegalArgumentException {
          if (!ArchiveFormat.isValidArchiveFormat(archiveFormat)) {
              throw new IllegalArgumentException("Unknown archive format " + archiveFormat);
          }
          if (!CompressionType.isValidCompressionType(compression)) {
              throw new IllegalArgumentException("Unknown compression type " + compression);
          }
  
          return createArchiver(ArchiveFormat.fromString(archiveFormat), CompressionType.fromString(compression));
      }
docs: Creates an Archiver for the given archive format that uses compression.
  
  @param archiveFormat the archive format e.g. "tar" or "zip"
  @param compression the compression algorithm name e.g. "gz"
  @return a new Archiver instance that also handles compression
  @throws IllegalArgumentException if the archive format or the compression type is unknown