/// <summary> /// Removes the subscription from the data feed, if it exists /// </summary> /// <param name="subscription">The subscription to remove</param> public override void RemoveSubscription(Subscription subscription) { var symbol = subscription.Configuration.Symbol; // remove the subscriptions if (!_channelProvider.ShouldStreamSubscription(subscription.Configuration)) { _customExchange.RemoveEnumerator(symbol); } else { _dataQueueHandler.UnsubscribeWithMapping(subscription.Configuration); if (subscription.Configuration.SecurityType == SecurityType.Equity && !subscription.Configuration.IsInternalFeed) { _dataQueueHandler.UnsubscribeWithMapping(new SubscriptionDataConfig(subscription.Configuration, typeof(Dividend))); _dataQueueHandler.UnsubscribeWithMapping(new SubscriptionDataConfig(subscription.Configuration, typeof(Split))); } } }