@Override
  public void visitPyMatchStatement(@NotNull PyMatchStatement matchStatement) {
    List<PyCaseClause> clauses = matchStatement.getCaseClauses();
    if (clauses.isEmpty()) return;
    
    for (PyCaseClause clause : clauses.subList(0, clauses.size() - 1)) {
      PyPattern pattern = clause.getPattern();
      if (pattern == null) {
        continue;
      }
      PyPattern unwrappedPattern = unwrapGroupAndAsPatterns(pattern);
      // There will be another warning for top-level star patterns
      if (unwrappedPattern instanceof PySingleStarPattern || unwrappedPattern instanceof PyDoubleStarPattern) {
        continue;
      }
      if (clause.getGuardCondition() == null && pattern.isIrrefutable()) {
        markError(pattern, PyPsiBundle.message("ANN.patterns.pattern.makes.remaining.case.clauses.unreachable"));
      }
    }
  }
@Override
  public void visitPyMatchStatement(@NotNull PyMatchStatement matchStatement)