public Collection<SDField> allExtraFields() {
        Map<String, SDField> extraFields = new LinkedHashMap<>();
        if (inherited.isPresent())
            requireInherited().allExtraFields().forEach(field -> extraFields.put(field.getName(), field));
        for (SDField field : extraFieldList()) {
            extraFields.put(field.getName(), field);
        }
        for (Field field : documentType.fieldSet()) {
            SDField sdField = (SDField) field;
            if (sdField.isExtraField() && !extraFields.containsKey(sdField.getName())) {
                extraFields.put(sdField.getName(), sdField);
            }
        }
        return extraFields.values();
    }
Adds an extra field of this search definition not contained in a document

@param field to add to the schemas list of external fields
config-model/src/main/java/com/yahoo/schema/Schema.java