def set_data_defaults(self):
        """Set default values for missing node data.

        Works by using the dict.setdefault method to check
        the existence of specific fields, providing default
        values so they can be inserted on the spot in case
        the value checked is missing.
        """
        ### define a tuple containing pairs of field name
        ### plus default value to be provided to the
        ### dict.setdefault method

        field_default_pairs = (
            ## the 'param_widget_value_map' field maps
            ## strings representing each parameter's
            ## widget to its respective value as defined
            ## by the user in the last editing session
            ("param_widget_value_map", {}),
            ## map listing existing subparams; subparams are
            ## informal parameters (those created to fill
            ## variable parameters, *args and **kwargs);
            ## this map uses the name of each variable
            ## parameter in the callable (if it has) as
            ## a key; the key points to a list containing
            ## indices for subparameters created (if they
            ## exist);
            ("subparam_map", {}),
            ## the 'subparam_widget_map' field maps strings
            ## representing variable-kind parameters to data
            ## describing an embedded widget for each of
            ## their subparameters which have one;
            ## this is only used when editing the node layout
            ## in the visual editor
            ("subparam_widget_map", {}),
            ## the 'subparam_keyword_map' field maps strings
            ## representing the name of subparameters
            ## of a keyword-variable parameter to strings
            ## representing their respective keyword
            ("subparam_keyword_map", {}),
            ## the 'subparam_unpacking_map' field maps
            ## strings representing variable-kind parameters
            ## to a list of indices representing the
            ## subparametes which are unpacked when the
            ## graph is executed
            ("subparam_unpacking_map", {}),
        )

        ### iterate over pairs, passing them to the node
        ### data 'setdefault' method

        for field_name, default in field_default_pairs:
            self.data.setdefault(field_name, default)
Set default values for missing node data.

        Works by using the dict.setdefault method to check
        the existence of specific fields, providing default
        values so they can be inserted on the spot in case
        the value checked is missing.
        
nodezator/graphman/callablenode/preproc.py