private static void cleanDefault(@NotNull SwitchStatement statement) {
      @NotNull List<List<StatEdge>> caseEdges = statement.getCaseEdges();
      int indexDefault = -1;
      boolean deleteDefault = false;
      for (int caseIndex = 0; caseIndex < caseEdges.size(); caseIndex++) {
        List<StatEdge> edges = caseEdges.get(caseIndex);
        int indexDefaultInside = edges.indexOf(statement.getDefaultEdge());
        if (indexDefaultInside == -1) {
          continue;
        }
        indexDefault = caseIndex;
        //delete other case values for default
        if (edges.size() != 1) {
          List<Exprent> exprentsToRemove = new ArrayList<>();
          List<StatEdge> edgesToRemove = new ArrayList<>();
          List<@Nullable Exprent> exprents = statement.getCaseValues().get(caseIndex);
          for (int i = 0; i < edges.size(); i++) {
            if (edges.get(i) == statement.getDefaultEdge()) {
              continue;
            }
            if (exprents.get(i) instanceof VarExprent) {
              exprentsToRemove.add(exprents.get(i));
              edgesToRemove.add(edges.get(i));
            }
          }
          edges.removeAll(edgesToRemove);
          exprents.removeAll(exprentsToRemove);

          break;
        }
        Statement defaultStatement = statement.getCaseStatements().get(caseIndex);
        if (defaultStatement.getExprents() != null && defaultStatement.getExprents().size() == 1) {
          Exprent expectedFastExit = defaultStatement.getExprents().get(0);
          if (expectedFastExit instanceof ExitExprent exitExprent && exitExprent.getExitType() == EXIT_THROW &&
              exitExprent.getValue() instanceof NewExprent newExprent && newExprent.getConstructor() != null) {
            InvocationExprent constructor = newExprent.getConstructor();
            if ("java/lang/MatchException".equals(constructor.getClassName()) && constructor.getParameters().size() == 2 &&
                constructor.getParameters().get(0) instanceof ConstExprent constExprent1 && constExprent1.isNull() &&
                constructor.getParameters().get(1) instanceof ConstExprent constExprent2 && constExprent2.isNull()) {
              deleteDefault = true;
            }
          }
        }
        break;
      }
      if (deleteDefault) {
        statement.getCaseStatements().remove(indexDefault);
        statement.getCaseValues().remove(indexDefault);
        statement.getCaseEdges().remove(indexDefault);
      }
    }
private static void cleanDefault(@NotNull SwitchStatement statement)