One option is to create your own extension class.
- IEventListener <EVENT>
- IEventProducer <LISTENER extends IEventListener <EVENT>, EVENT>
- EventProducer <LISTENER extends IEventListener <EVENT>, EVENT> implements IEventProducer <LISTENER, EVENT>
IEventListener is implemented by observers. It has a way to receive an event.
IEventProducer EventProducer. .
EventProducer . CopyOnWriteArrayList . , . .
IEventProducer EventProducer.
, erasure , add/delete listener - .