code: public void compress(Stream<Path> paths) throws IOException
      {
          boolean first = true;
          Iterator<Path> it = paths.iterator();
          while (it.hasNext())
          {
              Path p = it.next();
              if (Files.isRegularFile(path))
              {
                  setFilename(p.getFileName().toString());
                  setLastModified(Files.getLastModifiedTime(p));
                  if (!first)
                  {
                      nextOutput();
                  }
                  first = false;
                  OutputStream os = Channels.newOutputStream(this);
                  Files.copy(p, os);
              }
              else
              {
                  throw new IOException(p+" is not a regular file");
              }
          }
          close();
      }
docs: Add file entries to this GZIPChannel. Channel will be closed after this
  call.
  @param paths
  @throws IOException