def _set_fields_values(self, kwargs):
<EOL>for name, _field in self._fields.items():<EOL><INDENT>val = None<EOL>if name in kwargs:<EOL><INDENT>val = kwargs.get(name, self._field_values.get(name))<EOL>path_name = self._path_of(name)<EOL>_root_node = self._root_node or self<EOL>if path_name in _root_node.get_unpermitted_fields():<EOL><INDENT>self._secured_data[path_name] = val<EOL>continue<EOL><DEDENT><DEDENT>elif _field.default:<EOL><INDENT>val = _field.default() if callable(_field.default) else _field.default<EOL><DEDENT>if val is not None:<EOL><INDENT>if not kwargs.get('<STR_LIT>'):<EOL><INDENT>self.setattr(name, val)<EOL><DEDENT>else:<EOL><INDENT>_field._load_data(self, val)<EOL><DEDENT><DEDENT>if _field.choices is not None:<EOL><INDENT>self._choice_fields.append(name)<EOL>self._set_get_choice_display_method(name, _field, val)<EOL><DEDENT><DEDENT>
Fill the fields of this node

Args:
    kwargs: Field values