private static TImplementation CreateInstance <TImplementation>(IServiceProvider provider, ProducerFactory factory)
        {
            var loggerFactory = provider.GetRequiredService <ILoggerFactory>();
            var producer      = factory.GetFor <TImplementation>(loggerFactory);

            return(ActivatorUtilities.CreateInstance <TImplementation>(provider, producer));
        }