public Pipeline([NotNull] PipelineDefinition pipelineDefinition, [NotNull] ProcessorArgs args, [CanBeNull] IPipelineController controller = null, bool isAsync = true)
        {
            Assert.ArgumentNotNull(pipelineDefinition, "pipelineDefinition");
              Assert.ArgumentNotNull(args, "args");

              this.controller = controller;
              this.pipelineDefinition = pipelineDefinition;
              this.title = pipelineDefinition.Title;
              this.steps = Step.CreateSteps(this.pipelineDefinition.Steps, args, controller);
              this.isAsync = isAsync;

              // Storing args for restarting pipeline
              this.processorArgs = args;
        }
 private static void AddSteps(List<StepDefinition> steps, PipelineDefinition def)
 {
     steps.AddRange(def.Steps);
 }