class SimpleCatalogManager implements CatalogManager {

    @Override
    public List<Resource> removeBranch(Resource catalogId, Resource versionedRDFRecordId, Resource branchId) {
        try (RepositoryConnection conn = configProvider.getRepository().getConnection()) {
            Branch branch = utils.getBranch(catalogId, versionedRDFRecordId, branchId, branchFactory, conn);
            IRI masterBranchIRI = vf.createIRI(VersionedRDFRecord.masterBranch_IRI);
            if (conn.contains(versionedRDFRecordId, masterBranchIRI, branchId, versionedRDFRecordId)) {
                throw new IllegalStateException("Branch " + branchId + " is the master Branch and cannot be removed.");
            }
            conn.begin();
            List<Resource> deletedCommits = utils.removeBranch(versionedRDFRecordId, branch, conn);
            mergeRequestManager.cleanMergeRequests(versionedRDFRecordId, branchId, conn);
            conn.commit();
            return deletedCommits;
        }
    }

    public  SimpleCatalogManager();

}