public List <IPlanStep> TopoSort() { List <IPlanStep> sortedList = new List <IPlanStep>(); foreach (var item in Orderings.TopoSort(InitialStep)) { if (item.Equals(InitialStep) || item.Equals(GoalStep)) { continue; } sortedList.Add(item); } return(sortedList); }