protected internal virtual IList <IActivityExecution> FetchExecutionsForProcessInstance(IActivityExecution execution) { List <IActivityExecution> executions = new List <IActivityExecution>(); executions.AddRange(execution.GetExecutionsEntity()); foreach (IActivityExecution child in execution.Executions) { executions.AddRange(FetchExecutionsForProcessInstance(child)); } return(executions); }