public function find($query, $allowMany = false) {  // TODO: numRows() is not available on SQLite or with PDO and the
        $result = $this->query($query);                 //       emulation is slow. The check can be improved with fetchRow()
                                                        //       when reset(-1) and internal record caching are implemented.
        $object = $this->makeObject($result);           //
        if ($object && !$allowMany && $result->numRows() > 1) throw new MultipleRecordsException($query);

        return $object;
    }