protected virtual void Dispose(bool disposing)
 {
     if (!disposing)
     {
         return;
     }
     if (_producer == null)
     {
         return;
     }
     _producer.Dispose();
     _producer = null;
 }