docs: @SuppressWarnings("unchecked")
      public synchronized <T> T load(final PluggableService<T> service, final String providerName)
              throws ProviderLoaderException {
          final ProviderIdent ident = new ProviderIdent(service.getName(), providerName);
          debug("loadInstance for " + ident + ": " + pluginJar);
  
          if (null == pluginProviderDefs.get(ident)) {
              final String[] strings = getClassnames();
              for (final String classname : strings) {
                  final Class<?> cls;
                  try {
                      cls = loadClass(classname);
                      if (matchesProviderDeclaration(ident, cls)) {
                          pluginProviderDefs.put(ident, cls);
                      }
                  } catch (PluginException e) {
                      log.error("Failed to load class from " + pluginJar + ": classname: " + classname + ": "
                              + e.getMessage());
                  }
              }
          }
          final Class<T> cls = pluginProviderDefs.get(ident);
          if (null != cls) {
              try {
                  return createProviderForClass(service, cls);
              } catch (PluginException e) {
                  throw new ProviderLoaderException(e, service.getName(), providerName);
              }
          }
          return null;
      }