There is no guarantee indeed.

Instead, we could pass to the emit() method a list of notifications (they are buffered in the AbstractOperationContext) and make sure that for a given handler, they are all sent by the same executor thread.