/// <summary>
        /// Un-subscribes all listeners
        /// </summary>
        public void UnsubscribeAll()
        {
            this.EnsuresNotDisposed();
            lock (this.eventLock)
            {
                this.stateChangedHandlers   = null;
                this.sessionCreatedHandlers = null;
                this.childChangedHandlers.Clear();
                this.dataChangedHandlers.Clear();
            }

            Logger.Debug("Unsubscribed all handlers");
        }
        /// <summary>
        /// Un-subscribes all listeners
        /// </summary>
        public void UnsubscribeAll()
        {
            this.EnsuresNotDisposed();
            lock (this.eventLock)
            {
                this.stateChangedHandlers = null;
                this.sessionCreatedHandlers = null;
                this.childChangedHandlers.Clear();
                this.dataChangedHandlers.Clear();
            }

            Logger.Debug("Unsubscribed all handlers");
        }