void () { 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); } }