void (@NotNull MultiHostRegistrar registrar, @NotNull PsiElement context) { Language language = context.getLanguage(); Injection injection = null; for (LanguageInjectionContributor contributor : LanguageInjectionContributor.INJECTOR_EXTENSION.allForLanguageOrAny(language)) { injection = contributor.getInjection(context); if (injection != null) break; } if (injection == null) return; boolean primaryPerformerWasCalled = false; boolean injectionIsHandled = false; for (LanguageInjectionPerformer performer : LanguageInjectionPerformer.INJECTOR_EXTENSION.allForLanguageOrAny(language)) { primaryPerformerWasCalled = primaryPerformerWasCalled || performer.isPrimary(); if (performer.performInjection(registrar, injection, context)) { injectionIsHandled = true; break; } } FallbackInjectionPerformer fallbackInjectionPerformer = FallbackInjectionPerformer.getInstance(); if (fallbackInjectionPerformer != null) { if (!primaryPerformerWasCalled && !injectionIsHandled) { fallbackInjectionPerformer.performInjection(registrar, injection, context); } fallbackInjectionPerformer.registerSupportIfNone(context, injection); } }