/**
  * Returns all translations for the given file.
  *
  * @param ModelFile $file
  * @param boolean   $onlyUpdated
  * @return array
  */
 public function getTranslationsForFile(ModelFile $file, $onlyUpdated)
 {
     $builder = $this->createQueryBuilder()->hydrate(false)->select('key', 'translations')->field('translations.file.$id')->equals(new \MongoId($file->getId()))->sort('translations.created_at', 'asc');
     $results = $builder->getQuery()->execute();
     $translations = array();
     foreach ($results as $result) {
         $content = null;
         $i = 0;
         while ($i < count($result['translations']) && null == $content) {
             if ($file->getLocale() == $result['translations'][$i]['locale']) {
                 if ($onlyUpdated) {
                     $updated = $result['translations'][$i]['created_at']->sec < $result['translations'][$i]['updated_at']->sec;
                     $content = $updated ? $result['translations'][$i]['content'] : null;
                 } else {
                     $content = $result['translations'][$i]['content'];
                 }
             }
             $i++;
         }
         if (null != $content) {
             $translations[$result['key']] = $content;
         }
     }
     return $translations;
 }