class CassandraRecipientRewriteTableDAO {

    Mono<MappingsImpl> retrieveMappings(MappingSource source) {
        return executor.execute(retrieveMappingStatement.bind()
            .setString(USER, source.getFixedUser())
            .setString(DOMAIN, source.getFixedDomain()))
            .map(resultSet -> cassandraUtils.convertToStream(resultSet)
                .map(row -> row.getString(MAPPING))
                .collect(Guavate.toImmutableList()))
            .map(MappingsImpl::fromCollection)
            .filter(Predicate.not(MappingsImpl::isEmpty));
    }

    @Inject public  CassandraRecipientRewriteTableDAO(Session session, CassandraUtils cassandraUtils);

}