/** Second part of starting a new workflow instance: executing the start activities. */ public WorkflowInstance startExecute(WorkflowInstanceImpl workflowInstance) { WorkflowImpl workflow = workflowInstance.workflow; if (log.isDebugEnabled()) log.debug("Starting "+workflowInstance); if (workflow.startActivities!=null) { for (ActivityImpl startActivityDefinition: workflow.startActivities) { if (workflowInstance.startActivityIds == null || workflowInstance.startActivityIds.contains(startActivityDefinition.getId())) { workflowInstance.execute(startActivityDefinition); } } } else { workflowInstance.endAndPropagateToParent(); } notifyInsert(workflowInstance); workflowInstanceStore.insertWorkflowInstance(workflowInstance); return workflowInstance.executeWork(); }