private ChessGameValidationResult FindGameForContext(HttpContext httpContext)
        {
            Player                    player           = PlayerController.GetLoggedInPlayer(httpContext);
            ChessGameManager          gameManager      = new ChessGameManager(player);
            ChessGameValidationResult validationResult = gameManager.FindGame();

            return(validationResult);
        }
        public ActionResult FindGame()
        {
            ChessGameValidationResult validationResult = FindGameForContext(HttpContext);

            for (int i = 0; i < SearchTryNumber; ++i)
            {
                if (validationResult.status == ChessGameValidationStatus.Searching)
                {
                    System.Threading.Thread.Sleep(SearchSleepTime);
                    validationResult = FindGameForContext(HttpContext);
                }
                else
                {
                    break;
                }
            }
            GameResponseData responseData = GameResponseData.CreateResponseData(validationResult);

            return(responseData.GetActionResult());
        }