The org.zkoss.zk.ui.event.EventThreadSuspend interface
From Documentation
Listener:
org.zkoss.zk.ui.event.EventThreadSuspend interface
A listener could implement EventThreadSuspend, suthc that it will be called before an event processing thread is going to be suspended.
Notice that it is useless unless the event processing threads are enabled (it is disabled by default).
If a listener implements this interface, an instance is created, and then the beforeSuspend method, when an event processing thread is going to suspended. It executes in the event processing thread.
A developer can prevent can prevent an event processing thread from being suspended by throwing an exception.
A typical use of this feature is to limit the number of suspended threads.