private function doDeleteAdministratorRole(int $administratorId, int $roleId): ?int
    {
        $q = new QueryBuilder("DELETE FROM ".self::ADM_ROLES_TABLE_NAME." WHERE administrator_id = $1 AND role_id = $2", $administratorId, $roleId);
        try {
            $deletedId = $q->executeWithReturnField('id');
        } catch (Exceptions\QueryResultsNotFoundException $e) {
            return null;
        }
        return (int) $deletedId;
    }
private function doDeleteAdministratorRole(int $administratorId, int $roleId): ?int
    {
        $q = new QueryBuilder("DELETE FROM ".self::ADM_ROLES_TABLE_NAME." WHERE administrator_id = $1 AND role_id = $2", $administratorId, $roleId);
        try {
            $deletedId = $q->executeWithReturnField('id');
        } catch (Exceptions\QueryResultsNotFoundException $e) {
            return null;
        }
        return (int) $deletedId;
    }
returns null if not found