i found an unexpected behavior on syncEnd event of the sync process.
In short, if i handle the beforeExecute event and cancel some request...
/* some logic */
the syncEnd event will not raised if all requests have been cancelled.
But i think this is not correct, because the syncStart event has been raised.