protected void UpdateStatusImplementation(int progress, int maximum, string message) { ThrowObjectDisposedException(); if (_identifier == null) { throw new InvalidOperationException("Cannot update status without providing an identifier"); } var update = new AnalysisProgress { Progress = progress, Maximum = maximum, Message = message }; _requests.Enqueue(new Request { Update = update }); _requestAdded.Set(); }