class CheramiConsumerImpl implements CheramiConsumer, Reconfigurable {

    @Override
    public CheramiDelivery read() throws InterruptedException, IOException {
        if (!isOpen()) {
            throw new IOException("Consumer closed.");
        }
        CheramiFuture<CheramiDelivery> future = readAsync();
        try {
            return future.get();
        } catch (ExecutionException e) {
            throw new IOException(e);
        }
    }

    public  CheramiConsumerImpl(CheramiClient client, String dstPath, String consumerGroupName, ConsumerOptions options,
            MetricsReporter metricsReporter);

}