public void Subscribe(BrokerSubscription brokerSubscription, BrokerHandler handler)
 {
     ArgumentValidator.ThrowIfNull("brokerSubscription", brokerSubscription);
     ArgumentValidator.ThrowIfNull("handler", handler);
     this.broker.Subscribe(brokerSubscription);
     this.subscriptionHandlers[brokerSubscription.SubscriptionId] = handler;
 }
        public void Unsubscribe(BrokerSubscription brokerSubscription)
        {
            ArgumentValidator.ThrowIfNull("brokerSubscription", brokerSubscription);
            BrokerHandler brokerHandler;

            if (this.subscriptionHandlers.TryRemove(brokerSubscription.SubscriptionId, out brokerHandler))
            {
                this.broker.Unsubscribe(brokerSubscription);
            }
        }