code: public function findLocations(LocationQuery $query, array $languageFilter = array())
      {
          $query = clone $query;
          $query->query = $query->query ?: new Criterion\MatchAll();
  
          $this->coreFilter->apply(
              $query,
              $languageFilter,
              DocumentMapper::DOCUMENT_TYPE_IDENTIFIER_LOCATION
          );
  
          return $this->resultExtractor->extract(
              $this->gateway->findLocations($query, $languageFilter),
              $query->facetBuilders
          );
      }
docs: Finds Locations for the given $query.
  
  @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query
  @param array $languageFilter - a map of language related filters specifying languages query will be performed on.
  Also used to define which field languages are loaded for the returned content.
  Currently supports: <code>array("languages" => array(<language1>,..), "useAlwaysAvailable" => bool)</code>
  useAlwaysAvailable defaults to true to avoid exceptions on missing translations.
  
  @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult