protected virtual void Dispose(bool disposing) { if (!_disposedValue) { if (disposing) { _task.Dispose(); _taskRunner.Dispose(); } _disposedValue = true; } }