private void addJarResource(File file) throws IOException {
    try (JarFile jarFile = new JarFile(file)) {
      addURL(file.toURL());
      Enumeration<JarEntry> jarEntries = jarFile.entries();
      while (jarEntries.hasMoreElements()) {
        JarEntry jarEntry = jarEntries.nextElement();
        if (!jarEntry.isDirectory() && isJar(jarEntry.getName())) {
          addJarResource(jarEntryAsFile(jarFile, jarEntry));
        }
      }
    }
  }
Classloader, which allows finding classes in jars within jars. This is used to check whether a
listener, as found in web.xml, is a ServletContextListener
extensions/geode-modules-session/src/main/java/org/apache/geode/modules/session/installer/JarClassLoader.java