public function findAll( $where     = null,
                             $order     = null,
                             $limit     = null,
                             $offset    = null )
    {
        $iterator = $this->findIterator( $where, $order );

        if ( $limit || $offset )
        {
            $iterator = new LimitIterator(
                $iterator,
                (int) $offset,
                (int) $limit ?: null
            );
        }

        return $iterator;
    }