docs: public static <T> void load(Class<T> spi, ClassLoader cl, Collection<Class<? extends T>> result) {
          try {
              Enumeration<URL> e = cl.getResources("META-INF/services/" + spi.getName());
              while(e.hasMoreElements()) {
                  final URL url = e.nextElement();
                  try (BufferedReader r = new BufferedReader(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8))) {
                      String line;
                      while ((line = r.readLine()) != null) {
                          if (line.startsWith("#"))
                              continue;   // comment line
                          line = line.trim();
                          if (line.length() == 0)
                              continue;   // empty line. ignore.
  
                          try {
                              result.add(cl.loadClass(line).asSubclass(spi));
                          } catch (ClassNotFoundException x) {
                              LOGGER.log(Level.WARNING, "Failed to load " + line, x);
                          }
                      }
                  } catch (IOException x) {
                      LOGGER.log(Level.WARNING, "Failed to load " + url, x);
                  }
              }
          } catch (IOException x) {
              LOGGER.log(Level.WARNING, "Failed to look up service providers for "+spi, x);
          }
      }