@Override
  public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar) {
    registerUastReferenceProvider(registrar,
                                  injectionHostUExpression()
                                    .sourcePsiFilter(psi -> PsiUtil.isPluginProject(psi.getProject()))
                                    .andOr(
                                      uExpression().constructorParameter(0, Notification.class.getName()),
                                      uExpression().methodCallParameter(0, psiMethod().withName("getNotificationGroup")
                                        .definedInClass(NotificationGroupManager.class.getName())),
                                      uExpression().constructorParameter(0, SingletonNotificationManager.class.getName())
                                    ),

                                  new UastInjectionHostReferenceProvider() {
                                    @Override
                                    public PsiReference @NotNull [] getReferencesForInjectionHost(@NotNull UExpression uExpression,
                                                                                                  @NotNull PsiLanguageInjectionHost host,
                                                                                                  @NotNull ProcessingContext context) {
                                      return new PsiReference[]{new NotificationGroupIdReference(host)};
                                    }
                                  }, PsiReferenceRegistrar.DEFAULT_PRIORITY);
  }
@Override
  public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar)