protected function _query()
    {
        if ($this->_q)
            return $this->_q;

        $db = $this->gateway;
        if ($this->persist) {
            $db = $db->withOptions([
                'typeMap' => $this->typeMap,
            ]);
        }

        $this->_q = $db->selectCollection($this->collection_name);
        return $this->_q;
    }