docs: public static void unzipToFolder(File inputFile, File outputDir) throws IOException
      {
          if (inputFile == null)
              throw new IllegalArgumentException("Argument inputFile is null.");
          if (outputDir == null)
              throw new IllegalArgumentException("Argument outputDir is null.");
  
          try (ZipFile zipFile = new ZipFile(inputFile))
          {
              Enumeration<? extends ZipEntry> entryEnum = zipFile.entries();
              while (entryEnum.hasMoreElements())
              {
                  ZipEntry entry = entryEnum.nextElement();
                  String entryName = entry.getName();
                  File destFile = new File(outputDir, entryName);
                  if (!entry.isDirectory())
                  {
                      File parentDir = destFile.getParentFile();
                      if (!parentDir.isDirectory() && !parentDir.mkdirs())
                      {
                          throw new WindupException("Unable to create directory: " + parentDir.getAbsolutePath());
                      }
                      try (InputStream zipInputStream = zipFile.getInputStream(entry))
                      {
                          try (FileOutputStream outputStream = new FileOutputStream(destFile))
                          {
                              Streams.write(zipInputStream, outputStream);
                          }
                      }
                  }
              }
          }
      }