docs: def run_task(self, task, source_patterns=None):
          """Walk source and initiate spell check."""
  
          # Perform spell check
          self.log('Running Task: %s...' % task.get('name', ''), 1)
  
          # Setup filters and variables for the spell check
          self.default_encoding = task.get('default_encoding', '')
          options = self.setup_spellchecker(task)
          personal_dict = self.setup_dictionary(task)
          glob_flags = self._to_flags(task.get('glob_flags', "N|B|G"))
          self._build_pipeline(task)
  
          if not source_patterns:
              source_patterns = task.get('sources', [])
  
          for sources in self._walk_src(source_patterns, glob_flags, self.pipeline_steps):
  
              if self.pipeline_steps is not None:
                  yield from self._spelling_pipeline(sources, options, personal_dict)
              else:
                  yield from self.spell_check_no_pipeline(sources, options, personal_dict)