// IDisposable
 protected override void Dispose(bool disposing)
 {
     if (!_isDisposed)
     {
         if (disposing)
         {
             _inputBuffer?.Dispose();
             _outputBuffer?.Dispose();
             _transport?.Dispose();
         }
     }
     _isDisposed = true;
 }
 // IDisposable
 protected override void Dispose(bool disposing)
 {
     if (!_isDisposed)
     {
         if (disposing)
         {
             _readBuffer?.Dispose();
             _writeBuffer?.Dispose();
             _transport?.Dispose();
         }
     }
     _isDisposed = true;
 }