public async ValueTask DisposeAsync()
 {
     if (_producer != null)
     {
         await _producer.DisposeAsync().ConfigureAwait(false);
     }
 }
 protected override ValueTask DisposeUnderlyingProducer()
 {
     return(_producer.DisposeAsync());
 }