private void doEndTurn() {
        // Clear active unit if any.
        gui.setActiveUnit(null);

        // Unskip all skipped, some may have been faked in-client.
        // Server-side skipped units are set active in csNewTurn.
        for (Unit unit : freeColClient.getMyPlayer().getUnits()) {
            if (unit.getState() == UnitState.SKIPPED) {
                unit.setState(UnitState.ACTIVE);
            }
        }

        // Restart the selection cycle.
        moveMode = MODE_NEXT_ACTIVE_UNIT;
        turnsPlayed++;

        // Clear outdated turn report messages.
        turnReportMessages = null;

        // Inform the server of end of turn.
        askServer().endTurn();
    }