in model/src/main/java/jetbrains/jetpad/model/event/Listeners.java [71:92]
public void fire(ListenerCaller<ListenerT> h) {
if (isEmpty()) return;
beforeFire();
//exception can be thrown from ThrowableHandlers.handle()
try {
int size = myListenersCount;
for (int i = 0; i < size; i++) {
@SuppressWarnings("unchecked")
ListenerT l = (ListenerT) myListeners.get(i);
if (isRemoved(l)) continue;
try {
h.call(l);
} catch (Throwable t) {
ThrowableHandlers.handle(t);
}
}
} finally {
afterFire();
}
}