public function all(array $criteria = array())
    {
        if (count($criteria) == 0) {
            return $this->rates;
        }

        $result = array();

        /**
         * @var RateInterface $rate
         */
        foreach ($this->rates as $rate) {

            if (RateFilterUtil::matches($rate, $criteria)) {
                $result[] = $rate;
            }
        }

        return $this->paginate($result, $criteria);
    }
public function all(array $criteria = array())
    {
        if (count($criteria) == 0) {
            return $this->rates;
        }

        $result = array();

        /**
         * @var RateInterface $rate
         */
        foreach ($this->rates as $rate) {

            if (RateFilterUtil::matches($rate, $criteria)) {
                $result[] = $rate;
            }
        }

        return $this->paginate($result, $criteria);
    }
{@inheritdoc}