protected function makeObject(IResult $result) {

        // TODO: Prefer to return existing instance from IdentityMap

        $row = $result->fetchRow(ARRAY_ASSOC);
        if ($row === null)
            return null;
        return PersistableObject::populateNew($this->entityClass, $row);
    }