protected function getGerritChangesetByIdentifier($project, $branch, $id, $createdOn)
    {
        $dbHandle = $this->getDatabase()->getDatabaseConnection();

        $query = 'SELECT `id`, `project`, `branch`, `topic`, `identifier`, `number`, `subject`, `owner`, `url`, `commit_message`,
                         `created_on`, `last_updated`, `sort_key`, `open`, `status`, `current_patchset`
                  FROM ' . Database::TABLE_CHANGESET . '
                  WHERE `project` = :project
                        AND `branch` = :branch
                        AND `identifier` = :id
                        AND `created_on` = :created_on';
        $statement = $dbHandle->prepare($query);

        $statement->bindParam(':project', $project, \PDO::PARAM_INT);
        $statement->bindParam(':branch', $branch, \PDO::PARAM_INT);
        $statement->bindParam(':id', $id, \PDO::PARAM_STR);
        $statement->bindParam(':created_on', $createdOn, \PDO::PARAM_INT);
        $executeResult = $statement->execute();

        $statement = $this->getDatabase()->checkQueryError($statement, $executeResult);
        return $statement->fetch(\PDO::FETCH_ASSOC);
    }