NewSelector (@NotNull List<TempVarAssignmentItem> tempVarAssignments, List<Exprent> firstSwitchExprents) { int lastExprentIndex = firstSwitchExprents.size(); if (lastExprentIndex > 0) { AssignmentExprent assignment = addTempVarAssignment(firstSwitchExprents.get(lastExprentIndex - 1), tmpVarInFirstSwitch, secondSwitch, tempVarAssignments); if (assignment != null) { lastExprentIndex--; } } Exprent newSelector = firstSwitchSelector; if (lastExprentIndex > 0) { AssignmentExprent assignment = addTempVarAssignment(firstSwitchExprents.get(lastExprentIndex - 1), firstSwitchSelector, secondSwitch, tempVarAssignments); if (assignment != null) { lastExprentIndex--; newSelector = assignment.getRight(); } } return new NewSelector(lastExprentIndex, newSelector); }