@property<EOL><INDENT>def all_optional_fields(self):<DEDENT>
def optional_check(f):<EOL><INDENT>return is_nullable_type(f.data_type) or f.has_default<EOL><DEDENT>return self._filter_fields(optional_check)<EOL>
Returns an iterator that traverses optional fields in all super types
first, and then for this type.