class CassandraMailboxDAO {

    public Mono<Mailbox> retrieveMailbox(CassandraId mailboxId) {
        return executor.executeSingleRow(readStatement.bind()
            .setUUID(ID, mailboxId.asUuid())
            .setConsistencyLevel(consistencyLevel))
            .flatMap(row -> mailboxFromRow(row, mailboxId));
    }

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

}