/**
  * @param Question $question
  * @param bool $saveTagsInEntity
  */
 public function addForQuestion(Question $question, $saveTagsInEntity = true)
 {
     $em = $this->getEntityManager();
     if ($question instanceof PollPetition) {
         $tags = HashTagParser::parseHashTags($question->getPetitionBody());
     } else {
         $tags = HashTagParser::parseHashTags($question->getSubject());
     }
     foreach ($tags['parsed'] as $tag) {
         $entity = $this->findOneByName($tag);
         if (!$entity) {
             $entity = new HashTag($tag);
             $em->persist($entity);
         }
         $entity->addQuestion($question);
         $em->flush($entity);
     }
     if ($saveTagsInEntity) {
         $question->setCachedHashTags($tags['original']);
         $em->flush($question);
     }
 }