/** * Get a copy of a task from the workflow * * @param WorkflowInterface $workflow * @param string $activity_name The activity name we're looking for * @param string $activity_version Optionally provide the activity version * @return TaskSchema */ protected function getTask(WorkflowInterface $workflow, $activity_name, $activity_version = null) { foreach ($workflow->getTasks() as $task) { if ($task->getActivityName() == $activity_name) { if ($activity_version !== null) { if ($task->getActivityVersion() == $activity_version) { return clone $task; } } else { return clone $task; } } } throw new NotFoundException("Task '" . $activity_name . "' not found"); }