public void CancelSync() { if (IsSyncing()) { Logger.Info("Cancel Sync Requested..."); syncWorker.CancelAsync(); Logger.Debug("Wait for thread to complete..."); autoResetEvent.WaitOne(); Logger.Debug("...cancel completed."); } }