public static ChessBoardEntity copyBoard(final ChessBoardEntity aBoard, final boolean aReverse) {
		List<ChessmenEntity> chessmens = new ArrayList<ChessmenEntity>();
		for (ChessmenEntity chessmen : aBoard.getChessmens()) {
			int id = chessmen.getId();
			Type type = chessmen.getType();
			PositionEntity position = copyPosition(chessmen.getPosition(), aReverse);
			boolean player = copyPlayer(chessmen.isPlayer(), aReverse);
			boolean board = chessmen.isBoard();
			boolean promote = chessmen.isPromote();
			ChessmenEntity c = new ChessmenEntity(id, type, position, player, board, promote);
			chessmens.add(c);
		}
		ChessBoardEntity board = new ChessBoardEntity(chessmens);
		return board;
	}