protected void verifyEvents(ComponentLibrary library) { for (EventModel event : library.getEvents()) { ClassName listenerInterface = event.getListenerInterface(); SourceUtils sourceUtils = sourceUtilsProvider.get(); if (null != listenerInterface) { event.setGenerateListener(!sourceUtils.isClassExists(listenerInterface)); } String methodName = event.getListenerMethod(); if (null == methodName) { methodName = "process"; event.setListenerMethod(methodName); } ClassName sourceInterface = event.getSourceInterface(); if (null != sourceInterface) { event.setGenerateSource(!sourceUtils.isClassExists(sourceInterface)); } // Propagate event to corresponding components. for (ComponentModel component : library.getComponents()) { for (EventModel componentEvent : component.getEvents()) { if (event.getType().equals(componentEvent.getType())) { componentEvent.merge(event); } } } } }