public void Unsubscribe()
        {
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged           -= new ITradeDeskEvents_OnRowChangedEventHandler(_adapter.tdSink_ITradeDeskEvents_Event_OnRowChanged);
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged -= new ITradeDeskEvents_OnSessionStatusChangedEventHandler(_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);

            if (_subscriptionResponse != -1)
            {
                _desk.Unsubscribe(_subscriptionResponse);
                _tradeDeskEventsSink = null;
            }
        }
        /// <summary>
        /// Managed thread entrance only.
        /// </summary>
        void Managed_Unsubscribe()
        {
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged           -= new ITradeDeskEvents_OnRowChangedEventHandler(Managed_tdSink_ITradeDeskEvents_Event_OnRowChanged);
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged -= new ITradeDeskEvents_OnSessionStatusChangedEventHandler(Managed_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);

            if (_subscriptionId != -1)
            {
                TradeDeskAut desk = _desk;
                if (desk == null)
                {
                    return;
                }

                desk.Unsubscribe(_subscriptionId);
                _tradeDeskEventsSink = null;
            }
        }