JavaI18nizeQuickFixDialog<UPolyadicExpression> (final Project project, final PsiFile context, @NotNull UPolyadicExpression concatenation) { final List<UExpression> args = new ArrayList<>(); String formatString = JavaI18nUtil .buildUnescapedFormatString(Objects.requireNonNull(UStringConcatenationsFacade.createFromTopConcatenation(concatenation)), args, project); return new JavaI18nizeQuickFixDialog<>(project, context, concatenation, formatString, getCustomization(formatString), true, true) { @Override @Nullable protected String getTemplateName() { return myResourceBundleManager.getConcatenationTemplateName(); } @Override protected String generateText(final I18nizedTextGenerator textGenerator, final @NotNull String propertyKey, final PropertiesFile propertiesFile, final PsiElement context) { return textGenerator.getI18nizedConcatenationText( propertyKey, JavaI18nUtil.composeParametersText(args), propertiesFile, concatenation.getSourcePsi() ); } @Override public UExpression[] getParameters() { return args.toArray(new UExpression[0]); } @Override protected void addAdditionalAttributes(final Map<String, String> attributes) { attributes.put(PARAMETERS_OPTION_KEY, JavaI18nUtil.composeParametersText(args)); } }; }