docs: public static File unzip(InputStream stream, File toDir, Predicate<ZipEntry> filter) throws IOException {
      if (!toDir.exists()) {
        FileUtils.forceMkdir(toDir);
      }
  
      Path targetDirNormalizedPath = toDir.toPath().normalize();
      try (ZipInputStream zipStream = new ZipInputStream(stream)) {
        ZipEntry entry;
        while ((entry = zipStream.getNextEntry()) != null) {
          if (filter.test(entry)) {
            unzipEntry(entry, zipStream, targetDirNormalizedPath);
          }
        }
        return toDir;
      }
    }