protected override void Dispose(bool disposing) { base.Dispose(disposing); if (disposing && !disposed) { disposed = true; CurrentPosition = 0; TotalSize = 0; } }