code: /*
  FallThrough
  checkLastCaseGroup = (default)false
  reliefPattern = (default)falls?[ -]?thr(u|ough)
  
  
  */
  
  package com.puppycrawl.tools.checkstyle.checks.coding.fallthrough;
  
  public class InputFallThrough6 {
      void foo(int i){
          switch(i) {
              case 1:
                   int fallthru = 2; // fallthru
              case 2: // violation 'Fall through from previous branch of the switch statement'
                   int fallthrough = 2; //            fall thru
              case 3: // violation 'Fall through from previous branch of the switch statement'
                   break;
              case 4:
                   int fallthru2 = 3;
                   //     fall   -   thru
              case 5: // violation 'Fall through from previous branch of the switch statement.'
                   int fallthru3 = 4; // This is a fallthru comment
              case 6: // violation 'Fall through from previous branch of the switch statement'
                   int fallthru4 = 5; // falldown
              default: // violation 'Fall through from previous branch of the switch statement.'
              }
      }
  
       void multipleCasesOnOneLine() {
           int i = 0;
           switch (i) {
           case 0: case 1: i *= i; // fall through
           case 2: case 3: i *= i; // fall through
           case 4: case 5: i *= i; // fall through
           case 6: case 7: i *= i;
               break; // violation above 'Fall through from previous branch of the switch statement'
           default:
               throw new RuntimeException();
           }
       }
  
       void method() {
          int i=0;
          switch (i) {
              case 0:
                  break;
              case 1:
                  // fall through
                  i++;
              case 2: // violation 'Fall through from previous branch of the switch statement'
                  break;
          }
       }
  
       void method2() {
          int i=0;
          switch (i) {
              case 0:
                  break;
              case 1: // random
                  // fall through
                 i++;
              case 2: // violation 'Fall through from previous branch of the switch statement'
                  break;
          }
       }
  
       void method3() {
          int i=0;
          switch (i) {
              case 0:
                  break;
              case 1: /* random */
                  // fall through
                  // non fall
               /* comment */
                 i++;
              case 2: // violation 'Fall through from previous branch of the switch statement'
                  break;
          }
       }
  
       void method4() {
          int i=0;
          switch (i) {
              case 0:
                  break;
              case 1: // random
                  /* fallthru */
              // comment
                 i++;
              case 2: // violation 'Fall through from previous branch of the switch statement'
                  break;
          }
       }
  
       void method5() {
          int i=0;
          switch (i) {
              case 0:
                  break;
              case 1:
                  // random
                  // fall through
              // comment
                  System.out.println("check");
              case 2: // violation 'Fall through from previous branch of the switch statement'
                  break;
          }
       }
  }
  