code: def case_stmt_handle(self, loc, tokens):
          
          if len(tokens) == 2:
              item, cases = tokens
              default = None
          elif len(tokens) == 3:
              item, cases, default = tokens
          else:
              raise CoconutInternalException("invalid case tokens", tokens)
          check_var = case_check_var + "_" + str(self.case_check_count)
          self.case_check_count += 1
          out = (
              match_to_var + " = " + item + "\n"
              + match_case_tokens(loc, cases[0], check_var, True)
          )
          for case in cases[1:]:
              out += (
                  "if not " + check_var + ":\n" + openindent
                  + match_case_tokens(loc, case, check_var, False) + closeindent
              )
          if default is not None:
              out += "if not " + check_var + default
          return out
docs: Process case blocks.