void (@NotNull GrSwitchElement switchElement) { if (switchElement instanceof GrSwitchStatement) { super.visitSwitchStatement((GrSwitchStatement)switchElement); } else if (switchElement instanceof GrSwitchExpression) { super.visitSwitchExpression((GrSwitchExpression)switchElement); } final GrCaseSection[] caseSections = switchElement.getCaseSections(); if (ContainerUtil.exists(caseSections, section -> section.getArrow() != null)) { return; } for (int i = 1; i < caseSections.length; i++) { final GrCaseSection caseSection = caseSections[i]; if (isCommented(caseSection)) { continue; } final GrCaseSection previousCaseSection = caseSections[i - 1]; final GrStatement[] statements = previousCaseSection.getStatements(); if (statements.length == 0) { registerError(caseSection.getFirstChild()); } else { final GrStatement lastStatement = statements[statements.length - 1]; if (ControlFlowUtils.statementMayCompleteNormally(lastStatement)) { registerError(caseSection.getFirstChild()); } } } }