/**
  * @see EntityDocumentLookup::getEntityDocumentsForIds
  */
 public function getEntityDocumentsForIds(array $entityIds)
 {
     $entities = array();
     $entityIdsToRetrieve = array();
     foreach ($entityIds as $entityId) {
         try {
             $entities[] = $this->entityCache->fetch($entityId);
         } catch (EntityNotFoundException $e) {
             $entityIdsToRetrieve[] = $entityId;
         }
     }
     $additionalEntities = array();
     if (!empty($entityIdsToRetrieve)) {
         $additionalEntities = $this->entityLookup->getEntityDocumentsForIds($entityIdsToRetrieve);
     }
     foreach ($additionalEntities as $entity) {
         $this->entityCache->save($entity);
     }
     return array_merge($entities, $additionalEntities);
 }
 /**
  * @see EntityDocumentLookup::getEntityDocumentsForIds
  */
 public function getEntityDocumentsForIds(array $entityIds)
 {
     $entities = [];
     $entityIdsToRetrieve = [];
     foreach ($entityIds as $entityId) {
         $entity = $this->entityCache->fetch($entityId);
         if ($entity === null) {
             $entityIdsToRetrieve[] = $entityId;
         } else {
             $entities[] = $entity;
         }
     }
     $additionalEntities = [];
     if (!empty($entityIdsToRetrieve)) {
         $additionalEntities = $this->entityLookup->getEntityDocumentsForIds($entityIdsToRetrieve);
     }
     foreach ($additionalEntities as $entity) {
         $this->entityCache->save($entity);
     }
     return array_merge($entities, $additionalEntities);
 }
 /**
  * @see EntityDocumentLookup:getEntityDocumentsForIds
  */
 public function getEntityDocumentsForIds(array $entityIds)
 {
     return $this->entityDocumentLookup->getEntityDocumentsForIds($entityIds);
 }