// at the same time that match the same marking with the same name
if (!
$tmpTransitionBlockerList->
has(TransitionBlocker::BLOCKED_BY_MARKING
)) { $bestTransitionBlockerList =
$tmpTransitionBlockerList;
} } if (!
$transitionExist) { throw new UndefinedTransitionException($subject,
$transitionName,
$this,
$context);
} if (!
$approvedTransitions) { throw new NotEnabledTransitionException($subject,
$transitionName,
$this,
$bestTransitionBlockerList,
$context);
} foreach ($approvedTransitions as $transition) { $this->
leave($subject,
$transition,
$marking,
$context);
$context =
$this->
transition($subject,
$transition,
$marking,
$context);
$this->
enter($subject,
$transition,
$marking,
$context);
$this->markingStore->
setMarking($subject,
$marking,
$context);