/**
  * @param Filter $filter
  * @return int
  */
 private function fetchOrderItemsCount($filter = null)
 {
     $key = "orderItem." . md5(serialize($filter));
     $result = $this->getCache()->get($key);
     if (is_null($result)) {
         if (is_null($filter)) {
             $filter = new Filter();
         }
         $query = "\n\t\t\tSELECT COUNT(*) AS total\n\t\t\tFROM\n\t\t\t\t" . $this->orderItemsFromQuery . "\n\t\t\t" . ($filter->isFilterSet() ? "WHERE " . $filter->getFilterString() : "");
         $order_item_query = $this->getDb()->query($query, $filter->getParams());
         $result = $order_item_query->row['total'];
         $this->getCache()->set($key, $result);
     }
     return $result;
 }