public static List<ReporterSetup> fromConfiguration(
            final Configuration configuration, @Nullable final PluginManager pluginManager) {
        String includedReportersString = configuration.get(MetricOptions.REPORTERS_LIST, "");

        Set<String> namedReporters =
                findEnabledTraceReportersInConfiguration(
                        configuration,
                        includedReportersString,
                        metricReporterListPattern,
                        metricReporterClassPattern,
                        ConfigConstants.METRICS_REPORTER_PREFIX);

        if (namedReporters.isEmpty()) {
            return Collections.emptyList();
        }

        final List<Tuple2<String, Configuration>> reporterConfigurations =
                loadReporterConfigurations(
                        configuration, namedReporters, ConfigConstants.METRICS_REPORTER_PREFIX);

        final Map<String, MetricReporterFactory> reporterFactories =
                loadAvailableReporterFactories(pluginManager);

        return setupReporters(reporterFactories, reporterConfigurations);
    }
@Test
    void testReporterArgumentForwarding() {
        final Configuration config = new Configuration();

        configureReporter1(config);

        final List<ReporterSetup> reporterSetups = ReporterSetup.fromConfiguration(config, null);

        assertThat(reporterSetups).hasSize(1);

        final ReporterSetup reporterSetup = reporterSetups.get(0);
        assertReporter1Configured(reporterSetup);
    }