public ConnectedProjectionsCommandHandler( IConnectedProjectionsSubscriptionRunner subscriptionRunner, IConnectedProjectionsCatchUpRunner catchUpRunner, IConnectedProjectionsCommandBus commandBus, ILoggerFactory loggerFactory) { _subscriptionRunner = subscriptionRunner ?? throw new ArgumentNullException(nameof(subscriptionRunner)); _catchUpRunner = catchUpRunner ?? throw new ArgumentNullException(nameof(catchUpRunner)); _commandBus = commandBus ?? throw new ArgumentNullException(nameof(commandBus)); _logger = loggerFactory?.CreateLogger <ConnectedProjectionsCommandHandler>() ?? throw new ArgumentNullException(nameof(loggerFactory)); }