public void updateInterventionForce() {
        Specification spec = getSpecification();
        int interventionTurns = spec.getInteger("model.option.interventionTurns");
        if (interventionTurns > 0) {
            int updates = getGame().getTurn().getNumber() / interventionTurns;
            for (AbstractUnit unit : interventionForce.getLandUnits()) {
                // add units depending on current turn
                int value = unit.getNumber() + updates;
                unit.setNumber(value);
            }
            interventionForce.updateSpaceAndCapacity();
            while (interventionForce.getCapacity() < interventionForce.getSpaceRequired()) {
                boolean progress = false;
                for (AbstractUnit ship : interventionForce.getNavalUnits()) {
                    // add ships until all units can be transported at once
                    if (ship.getUnitType(spec).canCarryUnits()
                        && ship.getUnitType(spec).getSpace() > 0) {
                        int value = ship.getNumber() + 1;
                        ship.setNumber(value);
                        progress = true;
                    }
                }
                if (!progress) break;
                interventionForce.updateSpaceAndCapacity();
            }
        }
    }