public List<SDField> allConcreteFieldsWithSubFields() {
        var allFields = allConcreteFields();
        List<SDField> subFields = new ArrayList<>();
        for (SDField f : allFields) {
            subFields.addAll(f.getStructFields());
        }
        allFields.addAll(subFields);
        return allFields;
    }
as allConcreteFields, but includes sub-fields for arrays of structs etc.
config-model/src/main/java/com/yahoo/schema/Schema.java