public virtual void Dispose()
        {
            if (disposed)
            {
                return;
            }

            ConsumerFactory.Dispose();
            PersistentConnection.Dispose();

            disposed = true;

            Logger.Debug("Connection disposed");
        }