private static @Nullable PsiType getEventHandlerPropertyType(@NotNull PsiClass tagClass, @NotNull String eventName) {
    final PsiMethod[] handlerSetterCandidates = tagClass.findMethodsByName(PropertyUtilBase.suggestSetterName(eventName), true);
    for (PsiMethod handlerSetter : handlerSetterCandidates) {
      if (!handlerSetter.hasModifierProperty(PsiModifier.STATIC) &&
          handlerSetter.hasModifierProperty(PsiModifier.PUBLIC)) {
        final PsiType propertyType = PropertyUtilBase.getPropertyType(handlerSetter);
        if (InheritanceUtil.isInheritor(propertyType, JavaFxCommonNames.JAVAFX_EVENT_EVENT_HANDLER)) {
          return propertyType;
        }
      }
    }
    final PsiField handlerField = tagClass.findFieldByName(eventName, true);
    final PsiClassType propertyType = getPropertyClassType(handlerField);
    if (InheritanceUtil.isInheritor(propertyType, JavaFxCommonNames.JAVAFX_EVENT_EVENT_HANDLER)) {
      return propertyType;
    }
    return null;
  }
private static @Nullable PsiType getEventHandlerPropertyType(@NotNull PsiClass tagClass, @NotNull String eventName)