// ReSharper disable UnusedParameter.Local - next required by middleware components
 public MetricsEndpointMiddleware(
     RequestDelegate next,
     ILogger <MetricsEndpointMiddleware> logger,
     IMetrics metrics,
     IMetricsResponseWriter metricsResponseWriter)
 // ReSharper restore UnusedParameter.Local
 {
     _logger  = logger;
     _metrics = metrics;
     _metricsResponseWriter = metricsResponseWriter ?? throw new ArgumentNullException(nameof(metricsResponseWriter));
 }
 public MetricsEndpointMiddleware(
     RequestDelegate next,
     AspNetMetricsOptions aspNetOptions,
     ILoggerFactory loggerFactory,
     IMetrics metrics,
     IMetricsResponseWriter metricsResponseWriter)
     : base(next, aspNetOptions, loggerFactory, metrics)
 {
     _metricsResponseWriter = metricsResponseWriter ?? throw new ArgumentNullException(nameof(metricsResponseWriter));
     _next = next ?? throw new ArgumentNullException(nameof(next));
 }