class SimpleCatalogManager implements CatalogManager {

    @Override
    public Commit getTaggedCommit(Resource catalogId, Resource versionedRecordId, Resource versionId) {
        try (RepositoryConnection conn = configProvider.getRepository().getConnection()) {
            utils.validateVersion(catalogId, versionedRecordId, versionId, conn);
            Tag tag = utils.getExpectedObject(versionId, tagFactory, conn);
            Resource commitId = tag.getCommit_resource().orElseThrow(() ->
                    new IllegalStateException("Tag " + versionId + " does not have a Commit set"));
            return utils.getExpectedObject(commitId, commitFactory, conn);
        }
    }

    public  SimpleCatalogManager();

}