public void makeMovesFromTree(List<Move> moves) {
		gameOver = false;

		int moveCount = 0;

		for (Move move : moves) {
			if (move instanceof InitialPosition) {
				InitialPosition initialPosition = (InitialPosition) move;
				board = new Board(board.boardSize, initialPosition.handicap);
			} else if (move instanceof PlayerMove) {
				PlayerMove playerMove = (PlayerMove) move;
				if (moveCount == moves.size() - 1) {
					makeMove(playerMove.x, playerMove.y);
				} else {
					board = board.makeMove(playerMove.x, playerMove.y);
				}
			} else if (move instanceof PlayerPass) {
				if (moveCount == moves.size() - 1) {
					passTurn();
				} else {
					board = board.passTurn();
				}
			}
			activeMove = move;
			++moveCount;
		}
	}