/// <summary> /// Cycles through all the script directories that have changes and retrieves the changes. /// </summary> /// <returns> /// The list of steps within the StepDirectories. /// </returns> public List <IProcessStep> GetSteps() { if ((steps.Count == 0) || StepDirectories.Any(v => v.IsDirty)) { for (var i = 0; i < StepDirectories.Count; i++) { var t = StepDirectories[i]; t.Steps.ForEach(v => steps.AddOrReplace(v)); } } return(steps.OrderBy(v => v.Ordinal).ToList()); }