* @param unit The <code>Unit</code> to change the state of.
     * @param state The new <code>UnitState</code>.
     * @return An <code>Element</code> encapsulating this action.
     */
    public Element changeState(ServerPlayer serverPlayer, Unit unit,
                               UnitState state) {
        ChangeSet cs = new ChangeSet();

        if (state == UnitState.FORTIFYING) {
            Tile tile = unit.getTile();
            ServerColony colony
                = (tile.getOwningSettlement() instanceof Colony)
                ? (ServerColony) tile.getOwningSettlement()
                : null;
            if (colony != null
                && colony.getOwner() != unit.getOwner()
                && colony.isTileInUse(tile)) {
                colony.csEvictUser(unit, cs);
            }
        }

        unit.setState(state);
        cs.add(See.perhaps(), unit.getTile());

        // Others might be able to see the unit.
        sendToOthers(serverPlayer, cs);
        return cs.build(serverPlayer);
    }