public IScope Consume(TimeSpan timeout, out ConsumeResult <TKey, TValue> result)
        {
            result = _consumer.Consume(timeout);

            if (result == null)
            {
                return(null);
            }

            result.Message.Headers = result.Message.Headers ?? new Headers();

            var scope = _tracer.CreateAndInjectActiveConsumerScopeFrom(result.Message.Headers.ToDictionary(Encoding.UTF8));

            scope.Span.SetTag("kafka.topic", result.Topic);
            scope.Span.SetTag("kafka.partition", result.Partition);
            scope.Span.SetTag("kafka.offset", result.Offset);
            return(scope);
        }