code: public static <S> ServiceLoader<S> load(Class<S> service, ClassLoader loader) {
          if (loader == null) {
              loader = service.getClassLoader();
          }
          return new ServiceLoader<S>(service, new ClassLoaderResourceLoader(loader));
      }
docs: Creates a new service loader for the given service type and class loader.
  
  @param service The interface or abstract class representing the service
  @param loader  The class loader to be used to load provider-configuration
  files and provider classes, or null if the system class loader
  (or, failing that, the bootstrap class loader) is to be used
  @return A new service loader