public virtual void Dispose(bool disposing)
        {
            if (disposing)
            {
                ISubscriptionClient client = Interlocked.Exchange(ref _client, null);
                if (client != null)
                {
#if DEBUG
                    if (!TestMockSupport.RunningMocked)
                    {
#endif
                    client.Dispose();
#if DEBUG
                }
#endif
                }
            }
        }
        public override void Dispose(bool disposing)
        {
            base.Dispose(disposing);

            _subscriptionClient?.Dispose();
        }