* deferred choice, reset all other (competing) activities.
* @param act the activity
*/
public void resetCompeting (ExtActivityLocal act)
throws TransitionNotAllowedException {
ThreadInfo threadInfo = act.threadInfo ();
Collection res = new ArrayList ();
Collection predecessors = (Collection)transByTo.get(act.key());
if (predecessors.size() == 0) {
throw new IllegalArgumentException
(act + " has no predecessors, cannot be preliminarily chosen");
}
for (Iterator i = predecessors.iterator(); i.hasNext ();) {
ExtTransitionLocal trans = (ExtTransitionLocal)i.next();
ExtActivityLocal fromAct = (ExtActivityLocal)trans.from();
if (fromAct.deferChoiceOnSplit ()
&& threadInfo.includes (fromAct.key())) {
for (Iterator j = ((Collection)transByFrom.get(fromAct.key()))
.iterator(); j.hasNext ();) {
ExtTransitionLocal ft = (ExtTransitionLocal)j.next();
res.add (ft.to());
ft.setPendingToken(false);