* @param improvementType a <code>TileImprovementType</code> value
     */
    public void changeWorkImprovementType(Unit unit,
                                          TileImprovementType improvementType) {
        if (!requireOurTurn()) return;

        if (!unit.checkSetState(UnitState.IMPROVING)
            || improvementType.isNatural()) {
            return; // Don't bother (and don't log, this is not exceptional)
        }

        Player player = freeColClient.getMyPlayer();
        Tile tile = unit.getTile();
        if (!player.owns(tile)) {
            if (!claimTile(player, tile, unit, player.getLandPrice(tile), 0)
                || !player.owns(tile)) return;
        }

        if (askServer().changeWorkImprovementType(unit, improvementType)) {
            ;// Redisplay should work
        }
        nextActiveUnit();
    }