private static void registerBundleNameProviders(PsiReferenceRegistrar registrar) {
    final PsiReferenceProvider bundleReferenceProvider = new ResourceBundlePsiReferenceProvider();

    final XmlTagPattern.Capture resourceBundleTagPattern =
      xmlTag().withLocalName("resource-bundle").
        withParent(DomPatterns.tagWithDom(IdeaPlugin.TAG_NAME, IdeaPlugin.class));
    registrar.registerReferenceProvider(resourceBundleTagPattern, bundleReferenceProvider);

    final XmlAttributeValuePattern actionsResourceBundlePattern =
      xmlAttributeValue("resource-bundle")
        .withSuperParent(2, DomPatterns.tagWithDom("actions", Actions.class));
    registrar.registerReferenceProvider(actionsResourceBundlePattern, bundleReferenceProvider);

    registrar.registerReferenceProvider(extensionAttributePattern(new String[]{"bundle", "groupBundle"},
                                                                  Holder.CONFIGURABLE_EP, Holder.INSPECTION_EP,
                                                                  Holder.GROUP_CONFIGURABLE_EP,
                                                                  Holder.NOTIFICATION_GROUP_EP,
                                                                  Holder.SPRING_TOOL_WINDOW_CONTENT,
                                                                  Holder.ADVANCED_SETTINGS_EP,
                                                                  Holder.DECLARATIVE_INLAY_PROVIDER_EP),
                                        bundleReferenceProvider);
    registrar.registerReferenceProvider(nestedExtensionAttributePattern(new String[]{"bundle", "groupBundle"},
                                                                        Holder.CONFIGURABLE_EP),
                                        bundleReferenceProvider);
    registrar.registerReferenceProvider(nestedTagExtensionAttributePattern("option", new String[]{"bundle"},
                                                                           Holder.DECLARATIVE_INLAY_PROVIDER_EP),
                                        bundleReferenceProvider);

    registrar.registerReferenceProvider(extensionAttributePattern(new String[]{"nameBundle"},
                                                                  Holder.SCHEME_CONVERTER_EP),
                                        bundleReferenceProvider);

    registrar.registerReferenceProvider(extensionAttributePattern(new String[]{"resourceBundle"},
                                                                  Holder.TYPE_NAME_EP, Holder.ICON_DESCRIPTION_BUNDLE_EP),
                                        bundleReferenceProvider);

    final XmlTagPattern.Capture intentionActionBundleTagPattern =
      xmlTag().withLocalName(INTENTION_ACTION_BUNDLE_TAG).
        withParent(DomPatterns.tagWithDom(INTENTION_ACTION_TAG, Extension.class));
    registrar.registerReferenceProvider(intentionActionBundleTagPattern, bundleReferenceProvider);
  }
private static void registerBundleNameProviders(PsiReferenceRegistrar registrar)