code: public void execute(NodeTaskContext context) {
      NodeTaskReporter taskReporter = new NodeTaskReporter(this);
      taskQueue = new ArrayDeque<>(tasks);
      if (!taskQueue.isEmpty()) {
        NodeTask task = taskQueue.poll();
        task.execute(context, taskReporter);
      }
      else { // if the queue is empty, reports that the pipeline execution was a success
        listener.onSuccess();
      }
    }
docs: Starts the execution of the pipeline