protected virtual void OnProgressChanged(DetailedProgressChangedEventArgs e)
 {
     if (this.ProgressChanged != null)
     {
         this.SynchronizationContextObject?.Post(new SendOrPostCallback(delegate { try { this.ProgressChanged.Invoke(this, e); } catch (InvalidOperationException) { } }), null);
     }
 }
 private void Anothersmallthreadpool_ProgressChanged(object sender, DetailedProgressChangedEventArgs e)
 {
     this.ProgressCurrent = e.Current;
 }