code: public function prepareRules(IFilter $objFilter, $arrFilterUrl)
      {
          $objMetaModel = $this->getMetaModel();
          $objAttribute = $this->getFilteredAttribute();
          $strParam     = $this->getParamName();
  
          if ($objAttribute && $strParam) {
              if ($arrFilterValue = $this->determineFilterValue($arrFilterUrl, $strParam)) {
                  if ($objMetaModel->isTranslated() && $this->get('all_langs')) {
                      $arrLanguages = $objMetaModel->getAvailableLanguages();
                  } else {
                      $arrLanguages = array($objMetaModel->getActiveLanguage());
                  }
                  $objFilterRule = new FilterRuleSimpleLookup($objAttribute, $arrFilterValue, $arrLanguages);
                  $objFilter->addFilterRule($objFilterRule);
                  return;
              }
  
              // We found an attribute but no match in URL. So ignore this filter setting if allow_empty is set.
              if ($this->allowEmpty()) {
                  $objFilter->addFilterRule(new FilterRuleStaticIdList(null));
                  return;
              }
          }
          // Either no attribute found or no match in url, do not return anything.
          $objFilter->addFilterRule(new FilterRuleStaticIdList(array()));
      }
docs: {@inheritdoc}