protected override void Dispose(bool disposing) { try { // does not close the underline stream but mark itself as closed _isClosed = true; } finally { base.Dispose(disposing); } }