@Override
    protected void surroundExpression(@NotNull ActionContext context, @NotNull KtExpression expression, @NotNull ModPsiUpdater updater) {
        KtPsiFactory factory = new KtPsiFactory(context.project());
        KtStringTemplateExpression stringTemplateExpression =
                (KtStringTemplateExpression) factory.createExpression(getCodeTemplate(expression));
        KtStringTemplateEntry templateEntry = stringTemplateExpression.getEntries()[0];
        KtExpression innerExpression = templateEntry.getExpression();
        assert innerExpression != null : "KtExpression should exists for " + stringTemplateExpression;
        innerExpression.replace(expression);

        expression = (KtExpression) expression.replace(stringTemplateExpression);

        int offset = expression.getTextRange().getEndOffset();
        updater.select(TextRange.from(offset, 0));
    }
@Override
    protected void surroundExpression(@NotNull ActionContext context, @NotNull KtExpression expression, @NotNull ModPsiUpdater updater)