protected function submitItemResults(AssessmentItemSession $itemSession, $occurence = 0)
 {
     parent::submitItemResults($itemSession, $occurence);
     $item = $itemSession->getAssessmentItem();
     $occurence = $occurence;
     $sessionId = $this->getSessionId();
     common_Logger::t("submitting results for item '" . $item->getIdentifier() . "." . $occurence . "'.");
     try {
         $itemVariableSet = array();
         // Get the item session we just responsed and send to the
         // result server.
         $itemSession = $this->getItemSession($item, $occurence);
         $resultTransmitter = $this->getResultTransmitter();
         foreach ($itemSession->getKeys() as $identifier) {
             common_Logger::t("Examination of variable '{$identifier}'");
             $itemVariableSet[] = $itemSession->getVariable($identifier);
         }
         $itemUri = self::getItemRefUri($item);
         $testUri = self::getTestDefinitionUri($item);
         $transmissionId = "{$sessionId}.{$item}.{$occurence}";
         $resultTransmitter->transmitItemVariable($itemVariableSet, $transmissionId, $itemUri, $testUri);
     } catch (AssessmentTestSessionException $e) {
         // Error whith parent::endAttempt().
         $msg = "An error occured while ending the attempt item '" . $item->getIdentifier() . "." . $occurence . "'.";
         throw new taoQtiTest_helpers_TestSessionException($msg, taoQtiTest_helpers_TestSessionException::RESULT_SUBMISSION_ERROR, $e);
     } catch (taoQtiCommon_helpers_ResultTransmissionException $e) {
         // Error with Result Server.
         $msg = "An error occured while transmitting item results for item '" . $item->getIdentifier() . "." . $occurence . "'.";
         throw new taoQtiTest_helpers_TestSessionException($msg, taoQtiTest_helpers_TestSessionException::RESULT_SUBMISSION_ERROR, $e);
     }
 }