code: private void addHandler(final EventTarget target, final Annotation annotation) throws CoreException {
  
          // Build the auto event handler for this annotation
          final AnnotationEventHandler<Event> aeh = new AnnotationEventHandler<>(this.callbackObject, annotation);
  
          for (final EnumEventType eet : (EnumEventType[]) ClassUtility.getAnnotationAttribute(annotation, "value")) {
              if (target instanceof Node) {
                  ((Node) target).addEventHandler(eet.eventType(), aeh);
              } else if (target instanceof MenuItem) {
  
                  if (eet.eventType() == ActionEvent.ACTION) {
                      ((MenuItem) target).addEventHandler(ActionEvent.ACTION, new AnnotationEventHandler<>(this.callbackObject, annotation));
                  } else {
                      ((MenuItem) target).setOnMenuValidation(aeh);
                  }
              } else if (target instanceof Window) {
  
                  ((Window) target).addEventHandler(eet.eventType(), aeh);
              }
          }
  
      }
docs: Add an event handler on the given node according to annotation OnXxxxx.
  
  @param target the graphical node, must be not null (is a subtype of EventTarget)
  @param annotation the OnXxxx annotation
  
  @throws CoreException if an error occurred while linking the event handler