protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         _impl.Dispose();
         base.Dispose(disposing);
     }
 }