boolean (@NotNull PsiExpression expression) { if (!ControlFlowUtils.isInLoop(expression)) return false; if (ControlFlowUtils.isInExitStatement(expression)) return false; final PsiStatement newExpressionStatement = PsiTreeUtil.getParentOfType(expression, PsiStatement.class); if (newExpressionStatement == null) return false; final PsiStatement parentStatement = PsiTreeUtil.getParentOfType(newExpressionStatement, PsiStatement.class); if (!ControlFlowUtils.statementMayCompleteNormally(parentStatement)) return false; return !isAllocatedOnlyOnce(expression); }