private void RaiseDisconnectedByError(string header, string detail)
        {
            this.CleanupConnection();
            Debug.WriteLine("*** USER STREAM DISCONNECT ***" + Environment.NewLine + header + Environment.NewLine + detail + Environment.NewLine);
            var discone = new UserStreamsDisconnectedEvent(this.Account, header + " - " + detail);

            BackstageModel.RegisterEvent(discone);
            this.ConnectionState = UserStreamsConnectionState.WaitForReconnection;
            this._currentConnection.Add(
                Observable.Timer(TimeSpan.FromMinutes(5))
                .Do(_ => BackstageModel.RemoveEvent(discone))
                .Subscribe(_ =>
            {
                if (this.ConnectionState == UserStreamsConnectionState.WaitForReconnection)
                {
                    this.Reconnect();
                }
            }));
        }