public override bool Handle(ISyncEvent e) {
if (e is AbstractFolderEvent) {
var folderEvent = e as AbstractFolderEvent;
try {
this.DoHandle(folderEvent);
} catch (RetryException retry) {
Logger.Debug(string.Format("RetryException[{0}] thrown for event {1} => enqueue event", retry.Message, folderEvent.ToString()));
folderEvent.RetryCount++;
this.Queue.AddEvent(folderEvent);
} catch (InteractionNeededException interaction) {
this.Queue.AddEvent(new InteractionNeededEvent(interaction));
} catch (DotCMIS.Exceptions.CmisConnectionException) {
throw;
} catch (Exception ex) {
Logger.Debug("Exception in SyncMechanism, requesting FullSync and rethrowing", ex);
this.Queue.AddEvent(new StartNextSyncEvent(true));
throw;
}
return true;
}
return false;
}