public void HandleException(Exception exception, ISynchronizationLogger logger) { PostponeIfRequired(exception); if (!_currentRunWasManuallyTriggered && IsWarning(exception)) { _successiveWarningsCount++; if (_successiveWarningsCount > _maxSucessiveWarnings) { _successiveWarningsCount = 0; LogError(exception, logger); } else { _currentSyncRunCausedWarning = true; logger.LogAbortedDueToWarning(exception); s_logger.Warn(exception); } } else { LogError(exception, logger); } }