code: public function prepare()
      {
          if ($this->objItems) {
              return $this;
          }
  
          // Create an empty filter object if not done before.
          if (!$this->objFilter) {
              $this->objFilter = $this->objMetaModel->getEmptyFilter();
          }
  
          if ($this->objFilterSettings) {
              $this->objFilterSettings->addRules($this->objFilter, $this->arrParam);
          }
  
          $this->modifyFilter();
  
          $intTotal = $this->objMetaModel->getCount($this->objFilter);
  
          $calculator = $this->paginationLimitCalculator;
          $calculator->setTotalAmount($intTotal);
          $curPage = (int) \Input::get('page');
          if ($curPage > 1) {
              $calculator->setCurrentPage($curPage);
          }
          $this->objTemplate->total = $intTotal;
  
          $this->objItems = $this->objMetaModel->findByFilter(
              $this->objFilter,
              $this->strSortBy,
              $calculator->getCalculatedOffset(),
              $calculator->getCalculatedLimit(),
              $this->strSortDirection,
              $this->getAttributeNames()
          );
  
          return $this;
      }
docs: Prepare the rendering.
  
  @return ItemList