docs: public static <T> List<T> loadPlugins(final Class<T> type) {
      ServiceLoader<T> serviceLoader = ServiceLoader.load(type);
      Iterator<T> it = serviceLoader.iterator();
      if (!it.hasNext()) {
        LOG.warn("Unable to locate any plugins of the type: " + type.getName());
        return null;
      }
      
      ArrayList<T> plugins = new ArrayList<T>();
      while(it.hasNext()) {
        plugins.add(it.next());
      }
      if (plugins.size() > 0) {
        return plugins;
      }
      
      LOG.warn("Unable to locate plugins for type: " + type.getName());
      return null;
    }