def receive_input(self, data, param_name, subparam_index=None):
        """Store given data

        Parameters
        ==========

        data (any Python object)
            data sent by the graph manager, retrieved from
            another node.
        param_name (string)
            name of the parameter for which the data must
            be stored (if the subparameter index is not None,
            the data received must be stored for such
            parameter's subparameter instead)
        subparam_index (int or None)
            if not None, it represents the index of the
            subparameter for which the data must be stored.
        """
        ### if subparameter index is not None, store the
        ### data in the argument map for the specified
        ### subparameter

        if subparam_index is not None:

            (self.argument_map[param_name][subparam_index]) = data

        ### otherwise the data is supposed to be stored
        ### for the parameter
        else:
            self.argument_map[param_name] = data
Store given data

        Parameters
        ==========

        data (any Python object)
            data sent by the graph manager, retrieved from
            another node.
        param_name (string)
            name of the parameter for which the data must
            be stored (if the subparameter index is not None,
            the data received must be stored for such
            parameter's subparameter instead)
        subparam_index (int or None)
            if not None, it represents the index of the
            subparameter for which the data must be stored.
        
nodezator/graphman/callablenode/execution.py