class SimpleCatalogManager implements CatalogManager {

    @Override
    public <T extends Version> Optional<T> getVersion(Resource catalogId, Resource versionedRecordId,
                                                      Resource versionId, OrmFactory<T> factory) {
        try (RepositoryConnection conn = configProvider.getRepository().getConnection()) {
            VersionedRecord record = utils.getRecord(catalogId, versionedRecordId, versionedRecordFactory, conn);
            if (!record.getVersion_resource().contains(versionId)) {
                return Optional.empty();
            }
            return Optional.of(utils.getExpectedObject(versionId, factory, conn));
        }
    }

    public  SimpleCatalogManager();

}