docs: def get_sub_dsp_from_workflow(self, sources, reverse=False,
                                    add_missing=False, check_inputs=True):
          """
          Returns the sub-dispatcher induced by the workflow from sources.
  
          The induced sub-dispatcher of the dsp contains the reachable nodes and
          edges evaluated with breadth-first-search on the workflow graph from
          source nodes.
  
          :param sources:
             Source nodes for the breadth-first-search.
             A container of nodes which will be iterated through once.
          :type sources: list[str], iterable
  
          :param reverse:
             If True the workflow graph is assumed as reversed.
          :type reverse: bool, optional
  
          :param add_missing:
             If True, missing function' inputs are added to the sub-dispatcher.
          :type add_missing: bool, optional
  
          :param check_inputs:
             If True the missing function' inputs are not checked.
          :type check_inputs: bool, optional
  
          :return:
             A sub-dispatcher.
          :rtype: schedula.dispatcher.Dispatcher
          """
          sub_dsp = self.dsp.get_sub_dsp_from_workflow(
              sources, self.workflow, reverse=reverse, add_missing=add_missing,
              check_inputs=check_inputs
          )
  
          return sub_dsp