public void execute(ActivityExecution execution) throws Exception { List<PvmActivity> startActivities = new ArrayList<PvmActivity>(); for (PvmActivity activity : execution.getActivity().getActivities()) { if (activity.getIncomingTransitions().isEmpty()) { startActivities.add(activity); } } for (PvmActivity startActivity : startActivities) { execution.executeActivity(startActivity); } }