private function getMetaModelsPages($config, $rootPage = null, $language = null)
{
$metaModelsIdentifier = $config['pid'];
$filterIdentifier = $config['filter'];
$presetParams = deserialize($config['filterparams'], true);
$renderSettingId = $config['rendersetting'];
// Get the MetaModels.
$metaModels = $this->getMetaModel($metaModelsIdentifier, false);
$availableLanguages = $this->getLanguage($language, $metaModels);
$currentLanguage = $GLOBALS['TL_LANGUAGE'];
// Get the view.
$view = $this->getView($metaModelsIdentifier, $renderSettingId);
$jumpTos = $view->get('jumpTo');
// Set the filter.
$processed = $this->setFilterParameters($filterIdentifier, $presetParams, array());
// Create a new filter for the search.
$filter = $metaModels->getEmptyFilter();
$filterSetting = $this->getFilterSettings($filterIdentifier);
$filterSetting->addRules($filter, $processed);
// Get all jumpTos.
$newEntries = $this->getJumpTosFor($availableLanguages, $metaModels, $filter, $view, $rootPage);
// Remove all empty page details.
$this->removeEmptyDetailPages($jumpTos);
// Reset language.
$GLOBALS['TL_LANGUAGE'] = $currentLanguage;
// Merge all results.
$this->foundPages = array_merge($this->foundPages, $newEntries);
}