@Override
    public Object @NotNull [] getVariants() {
      Project project = getElement().getProject();
      List<ExtensionPoint> candidates =
        ExtensionPointIndex.getExtensionPointCandidates(project, GlobalSearchScopesCore.projectProductionScope(project));

      Module currentModule = ModuleUtilCore.findModuleForPsiElement(getElement());

      List<LookupElement> lookupElements = new ArrayList<>();
      for (ExtensionPoint candidate : candidates) {
        Module module = candidate.getModule();
        assert module != null;

        LookupElementBuilder builder = LookupElementBuilder.create(candidate.getXmlTag(), candidate.getEffectiveQualifiedName())
          .withTailText(" (" + candidate.getXmlTag().getContainingFile().getName() + ")")
          .withTypeText(module.getName(), ModuleType.get(module).getIcon(), false).withTypeIconRightAligned(true);

        if (module == currentModule) {
          lookupElements.add(PrioritizedLookupElement.withPriority(builder.bold(), 30));
        }
        else {
          lookupElements.add(builder);
        }
      }
      return lookupElements.toArray();
    }
@Override
    public Object @NotNull [] getVariants()