public void visitSwitchElement(@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());
          }
        }
      }
    }
public void visitSwitchElement(@NotNull GrSwitchElement switchElement)