class SimpleCatalogManager implements CatalogManager {

    @Override
    public <T extends Branch> void updateBranch(Resource catalogId, Resource versionedRDFRecordId, T newBranch) {
        try (RepositoryConnection conn = configProvider.getRepository().getConnection()) {
            IRI masterBranchIRI = vf.createIRI(VersionedRDFRecord.masterBranch_IRI);
            utils.validateBranch(catalogId, versionedRDFRecordId, newBranch.getResource(), conn);
            if (conn.contains(null, masterBranchIRI, newBranch.getResource())) {
                throw new IllegalArgumentException("Branch " + newBranch.getResource()
                        + " is the master Branch and cannot be updated.");
            }
            conn.begin();
            utils.updateObject(newBranch, conn);
            conn.commit();
        }
    }

    public  SimpleCatalogManager();

}