docs: private void processComponentJar(URL jarFileURL, WorkList workList, List<String> implicitClasspath) {
          LOG.debug("Processing {}", jarFileURL);
  
          if (!jarFileURL.toString().endsWith(".zip") && !jarFileURL.toString().endsWith(".jar")) {
              return;
          }
  
          try {
              URL manifestURL = new URL("jar:" + jarFileURL.toString() + "!/META-INF/MANIFEST.MF");
  
              InputStream in = null;
              try {
                  in = manifestURL.openStream();
                  Manifest manifest = new Manifest(in);
  
                  Attributes mainAttrs = manifest.getMainAttributes();
                  String classPath = mainAttrs.getValue("Class-Path");
                  if (classPath != null) {
                      String[] fileList = classPath.split("\\s+");
  
                      for (String jarFile : fileList) {
                          URL referencedURL = workList.createRelativeURL(jarFileURL, jarFile);
                          if (workList.add(new WorkListItem(referencedURL))) {
                              implicitClasspath.add(referencedURL.toString());
                              LOG.debug("Implicit jar: {}", referencedURL);
                          }
                      }
                  }
              } finally {
                  if (in != null) {
                      in.close();
                  }
              }
          } catch (IOException ignore) {
              // Ignore
          }
      }