in mobius-core/src/main/java/com/spotify/mobius/MobiusLoop.java [158:177]
public void dispatchEvent(E event) {
if (runState == RunState.DISPOSED) {
throw new IllegalStateException(
String.format(
"This loop has already been disposed. You cannot dispatch events after "
+ "disposal - event received: %s=%s, currentModel: %s",
event.getClass().getName(), event, mostRecentModel));
}
if (runState == RunState.DISPOSING) {
// ignore events received while disposing to avoid races during shutdown
return;
}
try {
eventDispatcher.accept(checkNotNull(event));
} catch (RuntimeException e) {
throw new IllegalStateException("Exception processing event: " + event, e);
}
}