class SimpleCatalogManager implements CatalogManager {

    @Override
    public void addInProgressCommit(Resource catalogId, Resource versionedRDFRecordId,
                                    InProgressCommit inProgressCommit) {
        try (RepositoryConnection conn = configProvider.getRepository().getConnection()) {
            Resource userIRI = (Resource) inProgressCommit.getProperty(vf.createIRI(Activity.wasAssociatedWith_IRI))
                    .orElseThrow(() -> new IllegalArgumentException("User not set on InProgressCommit "
                            + inProgressCommit.getResource()));
            if (utils.getInProgressCommitIRI(versionedRDFRecordId, userIRI, conn).isPresent()) {
                throw new IllegalStateException("User " + userIRI + " already has an InProgressCommit for Record "
                        + versionedRDFRecordId);
            }
            VersionedRDFRecord record = utils.getRecord(catalogId, versionedRDFRecordId, versionedRDFRecordFactory,
                    conn);
            if (conn.containsContext(inProgressCommit.getResource())) {
                throw utils.throwAlreadyExists(inProgressCommit.getResource(), inProgressCommitFactory);
            }
            inProgressCommit.setOnVersionedRDFRecord(record);
            utils.addObject(inProgressCommit, conn);
        }
    }

    public  SimpleCatalogManager();

}