void (@NotNull PsiLocalVariable variable) { super.visitLocalVariable(variable); final PsiType type = variable.getType(); if (!isConcatenatorType(type)) return; final PsiExpression initializer = PsiUtil.skipParenthesizedExprDown(variable.getInitializer()); if (!isNewStringConcatenatorChain(initializer)) return; final PsiElement codeBlock = PsiUtil.getVariableCodeBlock(variable, null); if (codeBlock == null) return; final ReplaceableByStringVisitor visitor = new ReplaceableByStringVisitor(variable); codeBlock.accept(visitor); if (!visitor.isReplaceable()) return; registerVariableError(variable, variable, type, visitor.isPossibleSideEffect()); }