code: protected ArchiveOutputStream createArchiveOutputStream(File archiveFile) throws IOException {
          try {
              return CommonsStreamFactory.createArchiveOutputStream(this, archiveFile);
          } catch (ArchiveException e) {
              throw new IOException(e);
          }
      }
docs: Returns a new ArchiveOutputStream for creating archives. Subclasses can override this to return their own custom
  implementation.
  
  @param archiveFile the archive file to stream to
  @return a new ArchiveOutputStream for the given archive file.
  @throws IOException propagated IO exceptions