private void HandleOnlineSessionEvent(AbstractSessionEvent sessionEvent)
        {
            var terminateEvent = sessionEvent as TerminateSessionEvent;

            if (terminateEvent != null)
            {
                TerminateSessionEvent.ExplainCauseToUser(terminateEvent.Cause);
                if (IsGameRunning())
                {
                    EndGame(EndGameType.Disconnect);
                }
                ExitGame();
                EnterSubstate(OnlineSubstate.OnlineBoard);
            }

            var kickPlayerEvent = sessionEvent as KickPlayerEvent;

            if (kickPlayerEvent != null)
            {
                if (kickPlayerEvent.KickedPlayerId == Profile.Instance.CurrentProfile.UserHashId)
                {
                    MessageHelper.ShowMessage("Vous avez mal à votre popotin!", "Le puissant serviteur de la reine du bal vous à expulsé du bal à coup de pied sur les fesses!");
                    ExitGame();
                    EnterSubstate(OnlineSubstate.OnlineBoard);
                }
            }

            var playerReadyEvent = sessionEvent as PlayerReadyEvent;

            if (playerReadyEvent != null)
            {
            }

            var startOnlineGame = sessionEvent as StartGameEvent;

            if (startOnlineGame != null)
            {
                _currentGame.Start(false);
                _currentSubState = OnlineSubstate.InGame;
            }

            var endOnlineGame = sessionEvent as EndOnlineGameEvent;

            if (endOnlineGame != null)
            {
                Console.WriteLine("**************** Received EndOnlineGameEvent ****************");
                EndOnlineGameEvent.ExplainCauseToUser(endOnlineGame.EndCause);
                EndGame(endOnlineGame.EndCause);
                ExitGame();
                EnterSubstate(OnlineSubstate.OnlineBoard);
            }

            var playerForfeit = sessionEvent as PlayerForfeitEvent;

            if (playerForfeit != null)
            {
                Console.WriteLine("**************** A player had forfeit ****************");
            }
        }