processMove(moveScope);
undoMove.doMove(scoreDirector);
if (assertUndoMoveIsUncorrupted) {
LocalSearchSolverPhaseScope localSearchSolverPhaseScope = moveScope.getLocalSearchStepScope()
.getLocalSearchSolverPhaseScope();
Score undoScore = localSearchSolverPhaseScope.calculateScore();
Score lastCompletedStepScore = localSearchSolverPhaseScope.getLastCompletedStepScope().getScore();
if (!undoScore.equals(lastCompletedStepScore)) {
// First assert that are probably no corrupted score rules.
scoreDirector.assertWorkingScore(undoScore);
throw new IllegalStateException(