@Override
      protected Pair<PsiLanguageInjectionHost, Language> processInjection(Language language,
                                                                          List<InjectionInfo> list,
                                                                          boolean settingsAvailable,
                                                                          boolean unparsable) {
        InjectorUtils.registerInjection(language, containingFile, list, registrar);
        InjectorUtils.registerSupport(getLanguageInjectionSupport(), settingsAvailable, list.get(0).host(), language);
        PsiLanguageInjectionHost host = list.get(0).host();
        if (tempLanguage != null) {
          InjectorUtils
            .putInjectedFileUserData(host, language, LanguageInjectionSupport.TEMPORARY_INJECTED_LANGUAGE, tempInjectedLanguage);
        }
        InjectorUtils
          .putInjectedFileUserData(host, language, InjectedLanguageUtil.FRANKENSTEIN_INJECTION, unparsable ? Boolean.TRUE : null);
        return Pair.create(host, language);
      }
@Override
      protected Pair<PsiLanguageInjectionHost, Language> processInjection(Language language,
                                                                          List<InjectionInfo> list,
                                                                          boolean settingsAvailable,
                                                                          boolean unparsable)