def task_from_requirements(self, requirements):
		'''This is to create a new task given a set of requirements
		'''
		# Instantiate items
		items = self.dependency_strategy.instantiate_items(self.classes)
		items = set(items.values())	# TODO: Fix instantiate_items return. this is unintuitive

		# Filter out things that aren't for this task
		items = self.dependency_strategy.filter_dependency_graph(requirements, items)

		# Define a clear goal node that all existing goals depend on
		goal = TaskComplete(self.dependency_strategy.find_goal_nodes(items))
		items.add(goal)
		assert set(self.dependency_strategy.early_iter_all_items(goal)) == items
		assert goal.name == 'TaskComplete'

		# Unroll groups
		items = self.dependency_strategy.make_group_dependencies_explicit_for_items(items)
		assert items in goal

		# Create task for great justice
		return Task(items, requirements, goal)
dataset/ETHPy150Open anchor/make-magic/lib/loaders.py/TaskFactory.task_from_requirements/swapped operands of `in`