void (@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); }