public function getRelativeComplementCollection(self $questionCollection) { $questionIds = array_flip($questionCollection->getInvolvedQuestionIds()); $relativeComplementCollection = new self(); foreach ($this->getQuestions() as $question) { if (!isset($questionIds[$question->getQuestionId()])) { $relativeComplementCollection->addQuestion($question); } } return $relativeComplementCollection; }