lib/Handler.php
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
        );
    }
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
        );
    }
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