// evaluate the conditions and find the transitions that should be forked
List<Transition> forkingTransitions = new ArrayList<Transition>();
List<Transition> outgoingTransitions = activity.getOutgoingTransitions();
for (Transition transition: outgoingTransitions) {
Condition condition = transition.getCondition();
if ( (condition==null)
|| (condition.evaluate(execution))
) {
forkingTransitions.add(transition);
}
}