protected override void Dispose(bool disposing) { if (disposing && !leaveOpen) { try { ReadStream.Dispose(); } finally { WriteStream.Dispose(); } } }