/**
  * @return ModelCollection
  */
 public function getValidAnswers()
 {
     return $this->answers->filter(function (Answer $answer) {
         if ($answer->isValid()) {
             return $answer;
         }
     });
 }
 /**
  * @param VisitorInterface $visitor
  * @param ModelCollection  $collection
  * @param array            $type
  * @param Context          $context
  *
  * @return mixed
  */
 public function serializeCollection(VisitorInterface $visitor, ModelCollection $collection, array $type, Context $context)
 {
     $type['name'] = 'array';
     return $visitor->visitArray($collection->toArray(), $type, $context);
 }
 /**
  * @param Category $category
  */
 public function removeCategory(Category $category)
 {
     $this->categories->removeElement($category);
 }
 /**
  * @param Question $question
  */
 public function removeQuestion(Question $question)
 {
     $this->questions->removeElement($question);
 }