private function buildRequest(array $entityIds)
 {
     $params = array('ids' => implode('|', $this->serializeEntityIds($entityIds)));
     if ($this->options->getOption(EntityStore::OPTION_LANGUAGE_FALLBACK)) {
         $params['languagefallback'] = true;
     }
     $languagesOption = $this->options->getOption(EntityStore::OPTION_LANGUAGES);
     if ($languagesOption !== null) {
         $params['languages'] = implode('|', $languagesOption);
     }
     return new SimpleRequest('wbgetentities', $params);
 }
 private function filterLanguages(array $serialization)
 {
     $languagesOption = $this->options->getOption(EntityStore::OPTION_LANGUAGES);
     if ($languagesOption === null) {
         return $serialization;
     }
     $languages = array_flip($languagesOption);
     if (array_key_exists('labels', $serialization)) {
         $serialization['labels'] = array_intersect_key($serialization['labels'], $languages);
     }
     if (array_key_exists('descriptions', $serialization)) {
         $serialization['descriptions'] = array_intersect_key($serialization['descriptions'], $languages);
     }
     if (array_key_exists('aliases', $serialization)) {
         $serialization['aliases'] = array_intersect_key($serialization['aliases'], $languages);
     }
     return $serialization;
 }
 /**
  * @see EntityStoreOptions::defaultOption
  */
 protected function defaultOption($option, $default)
 {
     $this->options->defaultOption($option, $default);
 }