StringBuilder (PsiExpression expression, StringBuilder out) { if (expression instanceof PsiLiteralExpression) { out.append(expression.getText()).append(getSuffix()); } else if (expression instanceof PsiPrefixExpression prefixExpression) { out.append(prefixExpression.getOperationSign().getText()); return buildReplacementText(prefixExpression.getOperand(), out); } else if (expression instanceof PsiParenthesizedExpression parenthesizedExpression) { out.append('('); buildReplacementText(parenthesizedExpression.getExpression(), out); out.append(')'); } else if (expression instanceof PsiTypeCastExpression typeCastExpression) { buildReplacementText(typeCastExpression.getOperand(), out); } else { assert false; } return out; }