private void NotifyChangeState(IrcSessionState state, IrcException exception)
 {
     var previousState = _state;
     ChangeState(state, exception);
     ChangeState(previousState);
 }
 private void ChangeState(IrcSessionState state, IrcException exception)
 {
     lock (_lock)
     {
         State = state;
         IrcStateChangedEventArgs arg;
         arg = new IrcStateChangedEventArgs(exception);
         _events.InvokeEvent(EventStateChanged, this, arg);
     }
 }