/**
* @throws StateMachineException
* @throws IllegalTransitionException
* @throws InconsistentCriteriaIdsException
* @throws DefinitionNotFoundException
*/
public function transition(Transition
$transition, Context
$context): StateMachineStateCollection
{ return $context->
scope(Context::SYSTEM_SCOPE,
function DContext
$context) use ($transition): StateMachineStateCollection
{ $stateField =
$this->
getStateField($transition->
getStateFieldName(),
$transition->
getEntityName());
$stateMachine =
$this->
getStateMachine($stateField->
getStateMachineName(),
$context);
$repository =
$this->definitionRegistry->
getRepository($transition->
getEntityName());
$fromPlace =
$this->
getFromPlace( $transition->
getEntityName(),
$transition->
getEntityId(),
$transition->
getStateFieldName(),
$context,
$repository );