public void Dispose() { if (--_wrapper.RefCount == 0) { _lockObjects.Remove(_wrapper.Source); } }
protected override void Dispose(bool disposing) { base.Dispose(disposing); if (disposing) { if (_buffer != null) { _buffer.Dispose(); _buffer = null; } if (!_leaveOpen) { _baseStream.Dispose(); } } }