/**
     * @param ApplicationFacet[]
     * @return FacetBase[]
     */
    public function buildFacetList($rawFacetList)
    {
        $facets = array();

        if ( is_array($rawFacetList) )
        {
            $applicationIdentifier = $this->applicationObject()->attribute('identifier');

            FacetFieldTagLanguage::$applicationIdentifier = $applicationIdentifier;
            FacetFieldTag::$applicationIdentifier = $applicationIdentifier;
            FacetPublishedSince::$applicationIdentifier = $applicationIdentifier;

            foreach ($rawFacetList as $rawFacet)
            {
                $usableFacet = FacetFactory::factory($rawFacet);

                if ( $usableFacet instanceof FacetBase )
                {
                    $facets[] = $usableFacet;

                    if ( $usableFacet instanceof FacetFieldTagLanguage )
                        $usableFacet->defaultValues = ApplicationLocalized::getTagFromLanguage( $this->applicationLocalized()->getPublisherLanguages() );
                }
            }
        }
        return $facets;
    }