docs: final void performAction(final AbstractEventQueue eventQueue, final Event<?> event) {
          final Event<T> eventObject = (Event<T>) event;
  
          try {
              action(eventObject);
          } catch (final Exception e) {
              LOGGER.log(Level.WARN, "Event perform failed", e);
          } finally { // remove event from event queue
              if (eventQueue instanceof SynchronizedEventQueue) {
                  final SynchronizedEventQueue synchronizedEventQueue = (SynchronizedEventQueue) eventQueue;
  
                  synchronizedEventQueue.removeEvent(eventObject);
              }
          }
      }