             var transition:ITransition;
             var foundTransition:ITransition;
             var guard:IGuard;
-            var trueGuard:IGuard;//the guard allowing a state transition
-            var submachine:IFsm;
+            var trueGuards:Boolean;
 
             while (event = _events.shift())
             {

                    
                    if (transition.guards)
                    {
                        for each (guard in transition.guards)
                        {
                            if (guard.evaluate(_guardFsm || this, event))
                            {
                                if (trueGuard)
                                {
                                    nTransitions(event);
                                    // while this is an exception we have a valid
                                    // transition from which to continue
                                    break outer;
                                }

                                trueGuard = guard;
                                foundTransition = transition;
                            }
                        }
                    }
                    else

                    continue;
                }

                foundTransition = null;

                outer: for each (transition in _eventMap[event.name])
