public function buildComponentPreprocess(&$router, &$uri)
{
$query = $uri->getQuery(true);
if (!isset($query['option'])) {
return;
}
$component = preg_replace('/[^A-Z0-9_\\.-]/i', '', $query['option']);
$crouter = $this->getComponentRouter($component);
$query = $crouter->preprocess($query);
if (isset($query['Itemid']) && (\count($query) === 2 || \count($query) === 3 && isset($query['lang']))) {
$item = $this->menu->getItem($query['Itemid']);
$query = array_merge($item->query, $query);
}
$uri->setQuery($query);
}