/**
  * Gets all descriptions of an Entity with the specified EntityId.
  *
  * @param EntityId $entityId
  * @param string[] $languageCodes
  *
  * @throws TermLookupException
  * @return string[]
  */
 public function getDescriptions(EntityId $entityId, array $languageCodes)
 {
     try {
         return $this->entityInfo->getDescriptions($entityId, $languageCodes);
     } catch (OutOfBoundsException $ex) {
         throw new TermLookupException($entityId, $languageCodes, $ex->getMessage(), $ex);
     }
 }
 /**
  * @dataProvider invalidArrayProvider
  */
 public function testGetDescriptionsWithInvalidArray_throwsRuntimeException($array)
 {
     $info = new EntityInfo($array);
     $this->setExpectedException('RuntimeException');
     $info->getDescriptions(new ItemId('Q99'));
 }