public function getQuestionType() { /* @var QtiOrderInteraction $interaction */ $interaction = $this->interaction; if (!$this->validate($interaction)) { return null; } $list = []; $this->orderMapping = []; /** @var SimpleChoice $simpleChoice */ foreach ($interaction->getSimpleChoices() as $simpleChoice) { $this->orderMapping[$simpleChoice->getIdentifier()] = count($this->orderMapping); $list[] = QtiMarshallerUtil::marshallCollection($simpleChoice->getContent()); } $question = new orderlist('orderlist', $list); $question->set_stimulus($this->getPrompt()); // Build `validation` object $validation = $this->buildValidation(); if ($validation) { $question->set_validation($validation); } return $question; }