public void Commit() { ArrayList sortedTask = SortTasks(TaskStaticInfo.SortOrder.OrderDA); ProcessCollectionData processCollectionData = new ProcessCollectionData(); foreach (TaskDynamicInfo taskInfo in sortedTask) { if (taskInfo.TaskInstance is IPersistentTask) { IPersistentTask taskInstance = (IPersistentTask)taskInfo.TaskInstance; taskInstance.PutExtraDataOnCommit(processCollectionData); taskInstance.Commit(); processCollectionData.Add(taskInstance.GetData()); } } }