private void KillExecution(IExecution execution) { Logger.InfoFormat("Execution '{0}' ended", execution.Identifier); execution.Kill(); if (execution.Parent != null && execution.Children.All(c => c.IsFinished)) { KillExecution(execution.Parent); } persistenceProvider.Persist(execution); }