private void OnFinishedAsync(ProgressResult result)
 {
     this.Dispatcher.BeginInvoke(
         DispatcherPriority.Normal,
         new Action <ProgressResult>(this.OnFinished),
         result);
 }
        private void OnFinished(ProgressResult result)
        {
            #region Argument Check

            if (result == null)
            {
                throw new ArgumentNullException("result");
            }

            #endregion

            this.Result = result;
            this.Close();
        }