boolean (List<PsiVariable> nonFinalVariables, TerminalBlock tb) { PsiLocalVariable variable = getIncrementedVariable(tb.getSingleExpression(PsiExpression.class), tb, nonFinalVariables); PsiExpression counter = tb.getCountExpression(); if (counter == null) { return variable != null; } if (tb.isEmpty()) { // like "if(++count == limit) break" variable = getIncrementedVariable(counter, tb, nonFinalVariables); } else if (!ExpressionUtils.isReferenceTo(counter, variable)) { return false; } return variable != null && ExpressionUtils.isZero(variable.getInitializer()) && ControlFlowUtils.getInitializerUsageStatus(variable, tb.getStreamSourceStatement()) != UNKNOWN; }