async Task INestProcesses.ProcessNestAsync(DeckRegularDict <RookCardInformation> list)
        {
            if (list.Count != 5)
            {
                throw new BasicBlankException("The nest must contain exactly 5 cards");
            }
            if (_gameContainer.SingleInfo !.CanSendMessage(_gameContainer.BasicData !))
            {
                await _gameContainer.Network !.SendAllAsync("nestlist", list);
            }
            _gameContainer.SaveRoot !.NestList.ReplaceRange(list);
            var newCol = _model !.Deck1 !.DrawSeveralCards(3);

            _gameContainer.SaveRoot.NestList.AddRange(newCol);
            _gameContainer.SingleInfo !.MainHandList.RemoveSelectedItems(list); //hopefully this works.
            _gameContainer.SingleInfo.MainHandList.UnhighlightObjects();
            _gameContainer.StartingStatus !.Invoke();                           //hopefully this simple.
            _gameContainer.SaveRoot.GameStatus = EnumStatusList.Normal;
            _model.PlayerHand1 !.AutoSelect    = HandObservable <RookCardInformation> .EnumAutoType.SelectOneOnly;
            if (_gameContainer.PlayerList.Count() == 3)
            {
                if (_gameContainer.SaveRoot.WonSoFar == 1)
                {
                    _gameContainer.SingleInfo = _gameContainer.PlayerList ![3];