class CassandraBucketDAO {

    Mono<ByteBuffer> readPart(BucketName bucketName, BlobId blobId, int position) {
        return cassandraAsyncExecutor.executeSingleRow(
            selectPart.bind()
                .setString(BucketBlobParts.BUCKET, bucketName.asString())
                .setString(BucketBlobParts.ID, blobId.asString())
                .setInt(BucketBlobParts.CHUNK_NUMBER, position))
            .map(this::rowToData);
    }

    @Inject @VisibleForTesting public  CassandraBucketDAO(BlobId.Factory blobIdFactory, Session session);

}