protected void fireEvent(AbstractEvent<?> event) {
        if (eventListeners.get(event.getClass()) != null) {
            for (AbstractEventListener eventListener : eventListeners.get(event.getClass())) {
                log.debug("Evento: " + event.getClass().getName() + " com listener: " + eventListener.getClass().getName());
                eventListener.handleEvent(event);
            }
        }
        if (parent != null) {
            parent.fireEvent(event);
        }
    }