public void ApplyMove(JavaList <object> moves)
        {
            var iter = moves.GetIterarator();

            while (iter.HasMoreElements())
            {
                var move = (PlayerMove)iter.NextElement();
                InternalApplyMove(move.GetFrom(), move.GetTo());
            }

            SwitchCurrentPlayer();
        }