void (@NotNull PsiElement element, final @NotNull Collection<? super RelatedItemLineMarkerInfo<?>> result) { PsiElement f; if (element instanceof PsiIdentifier && (f = element.getParent()) instanceof PsiField) { final PsiField field = (PsiField)f; if (JavaFxPsiUtil.isVisibleInFxml(field) && !field.hasModifierProperty(PsiModifier.STATIC) && !field.hasModifierProperty(PsiModifier.FINAL)) { final PsiClass containingClass = field.getContainingClass(); if (containingClass != null && containingClass.hasModifierProperty(PsiModifier.PUBLIC) && containingClass.getQualifiedName() != null) { final PsiMethod[] constructors = containingClass.getConstructors(); boolean defaultConstructor = constructors.length == 0; for (PsiMethod constructor : constructors) { if (constructor.getParameterList().isEmpty()) { defaultConstructor = true; break; } } if (!defaultConstructor) return; final ArrayList<GotoRelatedItem> targets = new ArrayList<>(); collectTargets(field, targets, GotoRelatedItem::new, true); if (targets.isEmpty()) return; result.add(new RelatedItemLineMarkerInfo<>((PsiIdentifier)element, element.getTextRange(), AllIcons.FileTypes.Xml, null, new JavaFXIdIconNavigationHandler(), GutterIconRenderer.Alignment.LEFT, ()->targets)); } } } }