@Override
  public @NotNull List<? extends GotoRelatedItem> getItems(@NotNull PsiElement context) {
    PsiClass psiClass = PsiTreeUtil.getParentOfType(context, PsiClass.class, false);
    if (psiClass != null) {
      while (psiClass != null) {
        List<PsiFile> forms = FormClassIndex.findFormsBoundToClass(psiClass.getProject(), psiClass);
        if (!forms.isEmpty()) {
          return GotoRelatedItem.createItems(forms, UIDesignerBundle.message("separator.ui.forms"));
        }
        psiClass = PsiTreeUtil.getParentOfType(psiClass, PsiClass.class);
      }
    }
    else {
      PsiFile file = context.getContainingFile();
      if (file != null && file.getFileType() == GuiFormFileType.INSTANCE) {
        try {
          String className = Utils.getBoundClassName(file.getText());
          if (className != null) {
            Project project = file.getProject();
            PsiClass aClass = JavaPsiFacade.getInstance(project).findClass(className, GlobalSearchScope.allScope(project));
            if (aClass != null) {
              return Collections.singletonList(new GotoRelatedItem(aClass, UIDesignerBundle.message("separator.java")));
            }
          }
        }
        catch (Exception ignore) {

        }
      }
    }
    return Collections.emptyList();
  }
@Override
  public @NotNull List<? extends GotoRelatedItem> getItems(@NotNull PsiElement context)