in src/main/java/org/apache/commons/scxml2/io/ModelUpdater.java [368:395]
private static void updateTransition(final SimpleTransition transition,
final Map<String, TransitionTarget> targets) throws ModelException {
final String next = transition.getNext();
if (next == null) { // stay transition
return;
}
final Set<TransitionTarget> tts = transition.getTargets();
if (tts.isEmpty()) {
// 'next' is a space separated list of transition target IDs
final StringTokenizer ids = new StringTokenizer(next);
while (ids.hasMoreTokens()) {
final String id = ids.nextToken();
final TransitionTarget tt = targets.get(id);
if (tt == null) {
logAndThrowModelError(ERR_TARGET_NOT_FOUND, new Object[] {
id });
}
tts.add(tt);
}
if (tts.size() > 1) {
final boolean legal = verifyTransitionTargets(tts);
if (!legal) {
logAndThrowModelError(ERR_ILLEGAL_TARGETS, new Object[] {
next });
}
}
}
}