class SolveMailboxInconsistenciesService {

    public Mono<Result> fixMailboxInconsistencies(Context context) {
        assertValidVersion();
        return Flux.concat(
                processMailboxDaoInconsistencies(context),
                processMailboxPathDaoInconsistencies(context))
            .reduce(Result.COMPLETED, Task::combine);
    }

    @Inject  SolveMailboxInconsistenciesService(CassandraMailboxDAO mailboxDAO, CassandraMailboxPathV2DAO mailboxPathV2DAO, CassandraSchemaVersionManager versionManager);

}