class StorageStrategyValidationEventSourcingSystem {

    public CheckResult validate(BlobStoreConfiguration blobStoreConfiguration) {
        return Mono.from(eventSourcingSystem.dispatch(new RegisterStorageStrategy(blobStoreConfiguration.storageStrategy())))
            .thenReturn(CheckResult.builder()
                .checkName(CHECK)
                .resultType(StartUpCheck.ResultType.GOOD)
                .build())
            .onErrorResume(IllegalStateException.class,
                e -> Mono.just(CheckResult.builder()
                    .checkName(CHECK)
                    .resultType(StartUpCheck.ResultType.BAD)
                    .description(e.getMessage())
                    .build()))
            .block();
    }

    @Inject public  StorageStrategyValidationEventSourcingSystem(EventStore eventStore);

}