protected void gatherData() {
        UnitType defaultType = getSpecification().getDefaultUnitType();
        for (Unit unit : player.getUnits()) {
            if (unit.isOffensiveUnit() && !unit.isNaval()) {
                UnitType unitType = defaultType;
                if (unit.getType().getOffence() > 0 ||
                    unit.hasAbility(Ability.EXPERT_SOLDIER)) {
                    unitType = unit.getType();
                }
                String key = unit.getRole() == Role.DRAGOON
                    ? "dragoons"
                    : unit.getRole() == Role.SOLDIER
                    ? "soldiers"
                    : "others";
                addUnit(unit, key);
            }
        }
    }