void (@NotNull List<? extends PsiElement> targets) { PsiElement parent = myTarget.getParent(); if (parent instanceof PsiContinueStatement) { PsiElement statement = ((PsiContinueStatement)parent).findContinuedStatement(); if (statement instanceof PsiLoopStatement) { processLoop((PsiStatement)parent, (PsiLoopStatement)statement); } } else if (parent instanceof PsiBreakStatement) { PsiStatement exitedStatement = ((PsiBreakStatement)parent).findExitedStatement(); if (exitedStatement instanceof PsiLoopStatement) { processLoop((PsiStatement)parent, (PsiLoopStatement)exitedStatement); } else if (exitedStatement instanceof PsiSwitchStatement) { addOccurrence(exitedStatement.getFirstChild()); collectSiblings((PsiStatement)parent, exitedStatement, exitedStatement); } } else if (parent instanceof PsiYieldStatement) { PsiSwitchExpression enclosingExpression = ((PsiYieldStatement)parent).findEnclosingExpression(); if (enclosingExpression != null) { addOccurrence(enclosingExpression.getFirstChild()); collectSiblings((PsiStatement)parent, enclosingExpression, enclosingExpression); } } addOccurrence(myTarget); }