code: String unzipFile(File downloadedCompressedFile, String extractedToFilePath, BinaryType possibleFilenames) throws IOException, ExpectedFileNotFoundException {
          LOG.debug("Attempting to extract binary from .zip file...");
          ArrayList<String> filenamesWeAreSearchingFor = new ArrayList<String>(possibleFilenames.getBinaryFilenames());
          ZipFile zip = new ZipFile(downloadedCompressedFile);
          try {
              Enumeration<ZipArchiveEntry> zipFile = zip.getEntries();
              if (filenamesWeAreSearchingFor.get(0).equals("*")) {
                  filenamesWeAreSearchingFor.remove(0);
                  LOG.debug("Extracting full archive");
                  return this.unzipFolder(zip, extractedToFilePath, filenamesWeAreSearchingFor);
              } else {
                  while (zipFile.hasMoreElements()) {
                      ZipArchiveEntry zipFileEntry = zipFile.nextElement();
                      for (String aFilenameWeAreSearchingFor : filenamesWeAreSearchingFor) {
                          if (zipFileEntry.getName().endsWith(aFilenameWeAreSearchingFor)) {
                              LOG.debug("Found: " + zipFileEntry.getName());
                              return copyFileToDisk(zip.getInputStream(zipFileEntry), extractedToFilePath, aFilenameWeAreSearchingFor);
                          }
                      }
                  }
              }
          } finally {
              zip.close();
          }
  
          throw new ExpectedFileNotFoundException("Unable to find any expected files for " + possibleFilenames.getBinaryTypeAsString());
      }
docs: Unzip a downloaded zip file (this will implicitly overwrite any existing files)
  
  @param downloadedCompressedFile The downloaded zip file
  @param extractedToFilePath      Path to extracted file
  @param possibleFilenames        Names of the files we want to extract
  @return boolean
  @throws IOException IOException