/**
  * @return array
  */
 private function getQuestionsData()
 {
     $questionList = new ilAssQuestionList($this->db, $this->lng, $this->pluginAdmin);
     $questionList->setQuestionInstanceTypeFilter($this->getQuestionInstanceTypeFilter());
     $questionList->setExcludeQuestionIdsFilter($this->testOBJ->getExistingQuestions());
     $repositoryRootNode = self::REPOSITORY_ROOT_NODE_ID;
     foreach ($this->getFilterItems() as $item) {
         if ($item->getValue() !== false) {
             switch ($item->getPostVar()) {
                 case 'title':
                 case 'description':
                 case 'author':
                 case 'type':
                 case 'parent_title':
                     $questionList->addFieldFilter($item->getPostVar(), $item->getValue());
                     break;
                 case 'repository_root_node':
                     $repositoryRootNode = $item->getValue();
             }
         }
     }
     $parentObjectIds = $this->getQuestionParentObjIds($repositoryRootNode);
     if (!count($parentObjectIds)) {
         return array();
     }
     $questionList->setParentObjIdsFilter($parentObjectIds);
     $questionList->load();
     return $questionList->getQuestionDataArray();
 }