docs: def set_default_value(self, data_id, value=EMPTY, initial_dist=0.0):
          """
          Set the default value of a data node in the dispatcher.
  
          :param data_id:
              Data node id.
          :type data_id: str
  
          :param value:
              Data node default value.
  
              .. note:: If `EMPTY` the previous default value is removed.
          :type value: T, optional
  
          :param initial_dist:
              Initial distance in the ArciDispatch algorithm when the data node
              default value is used.
          :type initial_dist: float, int, optional
  
          **--------------------------------------------------------------------**
  
          **Example**:
  
          A dispatcher with a data node named `a`::
  
              >>> dsp = Dispatcher(name='Dispatcher')
              ...
              >>> dsp.add_data(data_id='a')
              'a'
  
          Add a default value to `a` node::
  
              >>> dsp.set_default_value('a', value='value of the data')
              >>> list(sorted(dsp.default_values['a'].items()))
              [('initial_dist', 0.0), ('value', 'value of the data')]
  
          Remove the default value of `a` node::
  
              >>> dsp.set_default_value('a', value=EMPTY)
              >>> dsp.default_values
              {}
          """
  
          try:
              if self.dmap.nodes[data_id]['type'] == 'data':  # Is data node?
                  if value is EMPTY:
                      self.default_values.pop(data_id, None)  # Remove default.
                  else:  # Add default.
                      self.default_values[data_id] = {
                          'value': value,
                          'initial_dist': initial_dist
                      }
                  return
          except KeyError:
              pass
          raise ValueError('Input error: %s is not a data node' % data_id)