private function outCurrentlyFinishedPage()
 {
     $this->prepareTestPageOutput();
     $this->populatePreviousButtons($this->testSession->getCurrentQuestionId());
     if ($this->object->getKioskMode()) {
         $this->populateKioskHead();
     }
     if ($this->object->getEnableProcessingTime()) {
         $this->outProcessingTime($this->testSession->getActiveId());
     }
     $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
     $this->tpl->setVariable("FORM_TIMESTAMP", time());
     $this->tpl->setVariable("PAGETITLE", "- " . $this->object->getTitle());
     if ($this->object->isShowExamIdInTestPassEnabled() && !$this->object->getKioskMode()) {
         $this->tpl->setCurrentBlock('exam_id');
         $this->tpl->setVariable('EXAM_ID', ilObjTest::lookupExamId($this->testSession->getActiveId(), $this->testSession->getPass(), $this->object->getId()));
         $this->tpl->setVariable('EXAM_ID_TXT', $this->lng->txt('exam_id'));
         $this->tpl->parseCurrentBlock();
     }
     if ($this->object->getShowCancel()) {
         $this->populateCancelButtonBlock();
     }
     if ($this->dynamicQuestionSetConfig->isAnyQuestionFilterEnabled()) {
         $this->populateQuestionSelectionButtons();
     }
     if ($this->testSequence->openQuestionExists()) {
         $message = $this->lng->txt('tst_dyn_test_msg_currently_finished_selection');
     } else {
         $message = $this->lng->txt('tst_dyn_test_msg_currently_finished_completely');
         $message .= "<br /><br />{$this->buildFinishPagePassDeletionLink()}";
     }
     $msgHtml = $this->tpl->getMessageHTML($message);
     $this->tpl->addBlockFile('QUESTION_OUTPUT', 'test_currently_finished_msg_block', 'tpl.test_currently_finished_msg.html', 'Modules/Test');
     $this->tpl->setCurrentBlock('test_currently_finished_msg_block');
     $this->tpl->setVariable('TEST_CURRENTLY_FINISHED_MSG', $msgHtml);
     $this->tpl->parseCurrentBlock();
 }