void (@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater) { final String text = element.getText(); if (!myText.equals(text)) { return; } if (element instanceof PsiFragment fragment) { if (fragment.isTextBlock()) { int indent = PsiFragmentImpl.getTextBlockFragmentIndent(fragment); PsiReplacementUtil.replaceFragment(fragment, buildNewTextBlockText(text, indent)); } else { PsiReplacementUtil.replaceFragment(fragment, buildNewStringText(text)); } } else if (element instanceof PsiLiteralExpression literalExpression) { final PsiType type = literalExpression.getType(); if (type == null) { return; } if (type.equalsToText(CommonClassNames.JAVA_LANG_STRING)) { if (literalExpression.isTextBlock()) { final int indent = PsiLiteralUtil.getTextBlockIndent(literalExpression); if (indent < 0) return; final String newTextBlockTest = buildNewTextBlockText(text, indent); final Document document = element.getContainingFile().getViewProvider().getDocument(); assert document != null; final TextRange replaceRange = element.getTextRange(); document.replaceString(replaceRange.getStartOffset(), replaceRange.getEndOffset(), newTextBlockTest); } else { PsiReplacementUtil.replaceExpression(literalExpression, buildNewStringText(text)); } } else if (PsiTypes.charType().equals(type) && text.equals("'\\\"'")) { PsiReplacementUtil.replaceExpression(literalExpression, "'\"'"); } } }