docs: private static List<String> extractClassNames(String jarName) throws IOException {
          List<String> classes = new LinkedList<String>();
          ZipInputStream orig = new ZipInputStream(new FileInputStream(jarName));
          for (ZipEntry entry = orig.getNextEntry(); entry != null; entry = orig.getNextEntry()) {
              String fullName = entry.getName().replaceAll("/", ".").replace(".class", "");
              classes.add(fullName);
          }
          orig.close();
          return classes;
      }