List<PsiBreakStatement> () { List<PsiBreakStatement> breaks = new ArrayList<>(); mySwitchBlock.accept(new JavaRecursiveElementWalkingVisitor() { @Override public void visitBreakStatement(@NotNull PsiBreakStatement statement) { super.visitBreakStatement(statement); if (statement.findExitedStatement() == mySwitchBlock) { breaks.add(statement); } } @Override public void visitExpression(@NotNull PsiExpression expression) { // Going down into any expression seems redundant } @Override public void visitClass(@NotNull PsiClass aClass) {} }); return breaks; }