/**
  * Ask the test session to move to the previous RouteItem in the Route sequence.
  *
  * If $allowTimeout is set to true, the previous RouteItem in the Route sequence will bet set
  * as the current RouteItem, whether or not it is timed out.
  *
  * On the other hand, if $allowTimeout is set to false, the previous RouteItem in the Route sequence
  * which is not timed out will be set as the current RouteItem. If there is no more previous RouteItems
  * that are not timed out in the Route sequence, the current RouteItem remains the same and an
  * AssessmentTestSessionException with the appropriate timing error code is thrown.
  *
  * @param boolean $allowTimeout If set to true, the next RouteItem in the sequence does not have to respect timeLimits in force. Default value is false.
  * @throws AssessmentTestSessionException If the test session is not running or an issue occurs during the transition (e.g. branching, preConditions, ...) or if $allowTimeout = false and there absolutely no possibility to move backward (even the first RouteItem is timed out).
  * @qtism-test-interaction
  * @qtism-test-duration-update
  */
 public function moveBack($allowTimeout = false)
 {
     $sessionMemento = $this->getSessionMemento();
     parent::moveBack($allowTimeout);
     $this->triggerEventChange($sessionMemento);
 }