public function delete(int $id): string
    {
        // make sure there is a permission for the primary key
        if (null === $permission = $this->getObjectById($id)) {
            throw new Exceptions\QueryResultsNotFoundException();
        }

        $this->doDeleteTransaction($id);

        $title = $permission->getTitle();
        unset($permission);

        return $title;
    }