private void prepareSortedCases() {
      for (int i = 0; i < mySortedCasesFromRoot.size(); i++) {
        Statement currentStatement = mySortedCasesFromRoot.get(i).statement;
        List<StatEdge> edges = currentStatement.getSuccessorEdges(EdgeType.DIRECT_ALL);
        if (edges.size() == 1) {
          StatEdge onlyEdge = edges.get(0);
          if (onlyEdge.getType() != EdgeType.REGULAR && !onlyEdge.explicit) {
            onlyEdge.explicit = true;
            onlyEdge.labeled = false;
          }
          if (i == myRootSwitchStatement.getCaseStatements().size() - 1 &&
              onlyEdge.getType() == EdgeType.BREAK &&
              onlyEdge.explicit &&
              !onlyEdge.labeled) {
            onlyEdge.explicit = false;
          }
        }
      }

      if (myMustCleanNonNull) {
        JavacReferenceFinder.FullCase toDelete = null;
        for (JavacReferenceFinder.FullCase fullCase : mySortedCasesFromRoot) {
          int nullIndex = -1;
          List<Exprent> exprents = fullCase.exprents;
          for (int i = 0; i < exprents.size(); i++) {
            Exprent t = exprents.get(i);
            if (t instanceof ConstExprent constExprent && constExprent.getIntValue() == -1) {
              nullIndex = i;
              break;
            }
          }
          if (nullIndex == -1) {
            continue;
          }
          if (fullCase.exprents().size() != 1) {
            fullCase.exprents.remove(nullIndex);
            fullCase.edges.remove(nullIndex);
          }
          else {
            toDelete = fullCase;
          }
          break;
        }
        mySortedCasesFromRoot.remove(toDelete);
      }
    }
private void prepareSortedCases()