class CassandraMailboxDAO {

    public Flux<Mailbox> retrieveAllMailboxes() {
        return executor.execute(listStatement.bind())
            .flatMapMany(cassandraUtils::convertToFlux)
            .flatMap(this::toMailboxWithId);
    }

    @Inject public  CassandraMailboxDAO(Session session, CassandraTypesProvider typesProvider,
                               CassandraConsistenciesConfiguration consistenciesConfiguration,
                               CassandraUtils cassandraUtils);
    @VisibleForTesting public  CassandraMailboxDAO(Session session, CassandraTypesProvider typesProvider,
                               CassandraConsistenciesConfiguration consistenciesConfiguration);

}