public Task ProcessErrorAsync(PartitionContext context, Exception error)
        {
            CustomReceivedData data = new CustomReceivedData()
            {
                PartitionContext = context,
                Exception        = error,
            };

            OnErrorProcessed?.Invoke(this, data);
            return(Task.CompletedTask);
        }
        public Task ProcessEventsAsync(PartitionContext context, IEnumerable <EventData> messages)
        {
            foreach (EventData eventData in messages)
            {
                CustomReceivedData data = new CustomReceivedData()
                {
                    PartitionContext = context,
                    EventData        = eventData,
                };

                OnEventReceived?.Invoke(this, data);
            }

            return(context.CheckpointAsync());
        }