code: void tryMinimizeSwitchCaseExits(Node n, Token exitType, @Nullable String labelName) {
      checkState(NodeUtil.isSwitchCase(n));
  
      checkState(n != n.getParent().getLastChild());
      Node block = n.getLastChild();
      Node maybeBreak = block.getLastChild();
      if (maybeBreak == null || !maybeBreak.isBreak() || maybeBreak.hasChildren()) {
        // Can not minimize exits from a case without an explicit break from the switch.
        return;
      }
  
      // Now try to minimize the exits of the last child before the break, if it is removed
      // look at what has become the child before the break.
      Node childBeforeBreak = maybeBreak.getPrevious();
      while (childBeforeBreak != null) {
        Node c = childBeforeBreak;
        tryMinimizeExits(c, exitType, labelName);
        // If the node is still the last child, we are done.
        childBeforeBreak = maybeBreak.getPrevious();
        if (c == childBeforeBreak) {
          break;
        }
      }
    }
docs: Attempt to remove explicit exits from switch cases that also occur implicitly
  after the switch.