void () { for (List<Exprent> values : secondSwitch.getCaseValues()) { for (int i = 0; i < values.size(); i++) { ConstExprent constExprent = (ConstExprent)values.get(i); if (constExprent == null) continue; String labelValue = mappedCaseLabelValues.get(constExprent.getIntValue()); values.set(i, new ConstExprent(VARTYPE_STRING, labelValue, null)); } } List<Exprent> newExprents; if (newSelector.lastExprentIndex() > 0) { newExprents = List.copyOf(firstSwitchExprents.subList(0, newSelector.lastExprentIndex())); } else { newExprents = Collections.emptyList(); } Statement firstSwitchParent = firstSwitch.getParent(); Statement secondSwitchParent = secondSwitch.getParent(); boolean parentsAreTheSame = firstSwitchParent == secondSwitchParent; if (parentsAreTheSame || secondSwitchParent == firstSwitch) { firstSwitchParent.replaceStatement(firstSwitch, secondSwitch); } else if (secondSwitchParent.getParent() == firstSwitch) { firstSwitchParent.replaceStatement(firstSwitch, secondSwitchParent); } if (parentsAreTheSame) { firstSwitchParent.getStats().removeWithKey(secondSwitch.id); } List<Exprent> exprents = firstStatementInSecondSwitch.getExprents(); if (exprents != null) { exprents.addAll(0, newExprents); } secondSwitchSelector.replaceExprent(((SwitchExprent)secondSwitchSelector).getValue(), newSelector.newSelector()); }