public function count(array $options = null) {
        if ($this->_model instanceof Garp_Model_Db) {
            unset($options['sort']);
            $options['fields'] = 'COUNT(*)';
            try {
                $result = $this->fetch($options);
                return !empty($result[0]['COUNT(*)']) ? $result[0]['COUNT(*)'] : 0;
            } catch (Zend_Db_Statement_Exception $e) {
                /**
                 * @todo When fetching results
                 * filtered using a HABTM relationship, extra
                 * meta field are returned from the binding table.
                 * This results in an SQL error; when using COUNT()
                 * and returning results from multiple tables a
                 * GROUP BY clause is mandatory. This must be fixed in
                 * the future.
                 */
                return 1000;
            }
        } else {
            return $this->_model->count();
        }
    }