docs: @Nullable
      static PluginGroup loadPlugins(ClassLoader classLoader, PluginTarget target, CentralDogmaConfig config) {
          requireNonNull(classLoader, "classLoader");
          requireNonNull(target, "target");
          requireNonNull(config, "config");
  
          final ServiceLoader<Plugin> loader = ServiceLoader.load(Plugin.class, classLoader);
          final Builder<Plugin> plugins = new Builder<>();
          for (Plugin plugin : loader) {
              if (target == plugin.target() && plugin.isEnabled(config)) {
                  plugins.add(plugin);
              }
          }
  
          final List<Plugin> list = plugins.build();
          if (list.isEmpty()) {
              return null;
          }
  
          return new PluginGroup(list, Executors.newSingleThreadExecutor(new DefaultThreadFactory(
                  "plugins-for-" + target.name().toLowerCase().replace("_", "-"), true)));
      }