code: def start_task(self, task_tag, skip_unresolved=False):
  		
  		if self.started_tasks(task_registry_id=task_tag) is not None:
  			return
  
  		task_cls = self.tasks_by_tag(task_tag)
  		if task_cls is None:
  			raise RuntimeError("Task '%s' wasn't found" % task_tag)
  
  		self.dependency_check(task_cls, skip_unresolved=skip_unresolved)
  
  		def start_dependency(start_task_cls):
  			for dependency in start_task_cls.__dependency__:
  
  				if self.started_tasks(task_registry_id=dependency) is not None:
  					continue
  
  				dependent_task = self.tasks_by_tag(dependency)
  
  				if dependent_task is not None:
  					start_dependency(dependent_task)
  
  			self.__started.append(start_task_cls.start_dependent_task())
  
  		start_dependency(task_cls)
docs: Check dependency for the given task_tag and start task. For dependency checking see
  		:meth:`.WTaskDependencyRegistryStorage.dependency_check`. If task is already started then it must be
  		stopped before it will be started again.
  
  		:param task_tag: task to start. Any required dependencies will be started automatically.
  		:param skip_unresolved: flag controls this method behaviour for tasks that could not be found. \
  		When False, method will raise an exception if task tag was set in dependency and the related task \
  		wasn't found in registry. When True that unresolvable task will be omitted
  
  		:return: None