}
logger.info("Step index ({}), time spend ({}) taking step ({}) out of {} accepted moves.",
new Object[]{stepScope.getStepIndex(), localSearchSolverScope.calculateTimeMillisSpend(),
nextStep, decider.getForager().getAcceptedMovesSize()});
stepDecided(stepScope);
nextStep.doMove(stepScope.getWorkingMemory());
// there is no need to recalculate the score, but we still need to set it
localSearchSolverScope.getWorkingSolution().setScore(stepScope.getScore());
if (assertStepScoreIsUncorrupted) {
localSearchSolverScope.assertWorkingScore(stepScope.getScore());
}