public KafkaQueueAdapterReceiver(QueueId queueId, IManualConsumer consumer, KafkaStreamProviderOptions options,
IKafkaBatchFactory factory, Logger logger)
{
// input checks
if (queueId == null) throw new ArgumentNullException(nameof(queueId));
if (consumer == null) throw new ArgumentNullException(nameof(consumer));
if (factory == null) throw new ArgumentNullException(nameof(factory));
if (options == null) throw new ArgumentNullException(nameof(options));
if (logger == null) throw new ArgumentNullException(nameof(logger));
_counterCurrentOffset = Metric.Context("KafkaStreamProvider").Counter($"CurrentOffset queueId:({queueId.GetNumericId()})", unit: Unit.Custom("Log"));
_options = options;
Id = queueId;
_consumer = consumer;
_factory = factory;
_logger = logger;
}