docs: public static boolean doesZipContainFileTypes(File file, String... fileTypes) {
          // It must be a zip file with an XML file at it's root and a properties file in it
          if (!file.getName().endsWith(".zip")) {
              return false;
          }
          ZipFile zip = null;
          try {
              zip = new ZipFile(file);
              boolean[] foundFileTypes = new boolean[fileTypes.length];
              boolean foundAll = false;
              Enumeration<? extends ZipEntry> entries = zip.entries();
              while (entries.hasMoreElements() && !foundAll) {
                  foundAll = true;
                  ZipEntry entry = entries.nextElement();
                  String name = entry.getName();
                  for (int i = 0; i < fileTypes.length; i++) {
                      if (!foundFileTypes[i]) {
                          foundFileTypes[i] = name.endsWith(fileTypes[i]);
                          if (foundAll) {
                              foundAll = foundFileTypes[i];
                          }
                      }
                  }
              }
              return foundAll;
          } catch (IOException e) {
              return false;
          } finally {
              if (zip != null) {
                  try {
                      zip.close();
                  } catch (IOException e) {
                      return false;
                  }
              }
          }
      }