/// <inheritdoc />
        public void Listen(XenaTradingWsHandler handler)
        {
            Validator.NotNull(nameof(handler), handler);

            if (Interlocked.CompareExchange(ref _generalHandler, handler, null) != null)
            {
                throw new DuplicateSubscriptionException("Already subscribed on all messages");
            }
        }
        /// <inheritdoc />
        public void Listen <T>(XenaTradingWsHandler <T> handler)
            where T : IMessage
        {
            Validator.NotNull(nameof(handler), handler);

            if (!_handlers.TryAdd(typeof(T), handler))
            {
                throw new DuplicateSubscriptionException($"Already subscribed on {typeof(T).Name} events");
            }
        }