/// <summary>
 /// Initializes a new instance of the <see cref="BasketSecurityMessageAdapter"/>.
 /// </summary>
 /// <param name="securityProvider">The provider of information about instruments.</param>
 /// <param name="processorProvider">Basket security processors provider.</param>
 /// <param name="exchangeInfoProvider">Exchanges and trading boards provider.</param>
 /// <param name="innerAdapter">Underlying adapter.</param>
 public BasketSecurityMessageAdapter(ISecurityProvider securityProvider, IBasketSecurityProcessorProvider processorProvider, IExchangeInfoProvider exchangeInfoProvider, IMessageAdapter innerAdapter)
     : base(innerAdapter)
 {
     _securityProvider     = securityProvider ?? throw new ArgumentNullException(nameof(securityProvider));
     _processorProvider    = processorProvider ?? throw new ArgumentNullException(nameof(processorProvider));
     _exchangeInfoProvider = exchangeInfoProvider ?? throw new ArgumentNullException(nameof(exchangeInfoProvider));
 }