/**
  * Whether or not the current Assessment Item to be presented to the candidate is timed-out. By timed-out
  * we mean:
  * 
  * * current Assessment Test level time limits are not respected OR,
  * * current Test Part level time limits are not respected OR,
  * * current Assessment Section level time limits are not respected OR,
  * * current Assessment Item level time limits are not respected.
  * 
  * @param AssessmentTestSession $session The AssessmentTestSession object you want to know it is timed-out.
  * @return boolean
  */
 public static function isTimeout(AssessmentTestSession $session)
 {
     try {
         $session->checkTimeLimits(false, true, false);
     } catch (AssessmentTestSessionException $e) {
         return true;
     }
     return false;
 }
 /**
  * @param bool $includeMinTime
  * @param bool $includeAssessmentItem
  * @param bool $acceptableLatency
  * @throws AssessmentTestSessionException
  */
 public function checkTimeLimits($includeMinTime = false, $includeAssessmentItem = false, $acceptableLatency = true)
 {
     try {
         parent::checkTimeLimits($includeMinTime, $includeAssessmentItem, $acceptableLatency);
     } catch (AssessmentTestSessionException $e) {
         $this->timeoutCode = $e->getCode();
         throw $e;
     }
 }