void (@NotNull MultiHostRegistrar registrar, PsiElement @NotNull ... operands) { if (operands.length == 0) return; boolean hasLiteral = false; InjectedLanguage tempInjectedLanguage = null; PsiFile containingFile = null; TemporaryPlacesRegistry temporaryPlaceRegistry = TemporaryPlacesRegistry.getInstance(myProject); for (PsiElement operand : operands) { if (PsiUtilEx.isStringOrCharacterLiteral(operand)) { hasLiteral = true; if (containingFile == null) { containingFile = operands[0].getContainingFile(); } tempInjectedLanguage = temporaryPlaceRegistry.getLanguageFor((PsiLanguageInjectionHost)operand, containingFile); if (tempInjectedLanguage != null) break; } } if (!hasLiteral) return; processOperandsInjection(registrar, containingFile, tempInjectedLanguage, operands); }