private void OnFinished(ProgressControllerResult result)
{
this.IsFinished = true;
this.ThreadSafeDisposeCancellationTokenSource();
VsThreadingHelper.RunInline(this, VsTaskRunContext.UIThreadNormalPriority, () =>
{
ConfigureStepEventListeners(false);
var delegates = this.FinishedPrivate;
if (delegates != null)
{
ProgressControllerFinishedEventArgs args = new ProgressControllerFinishedEventArgs(result);
delegates(this, args);
// Verify that the observer handled it since now easy way of testing
// serialized raising and handling of the event across the classes
args.CheckHandled();
}
});
}