Object entity = stepScope.getEntity();
int moveIndex = 0;
for (Object value : valueSelector) {
ConstructionHeuristicMoveScope moveScope = new ConstructionHeuristicMoveScope(stepScope);
moveScope.setMoveIndex(moveIndex);
ChangeMove move = new ChangeMove(entity, variableDescriptor, value);
moveScope.setMove(move);
if (!move.isMoveDoable(stepScope.getScoreDirector())) {
logger.trace(" Ignoring not doable move ({}).", move);
} else {
doMove(moveScope);
// TODO extract to PlacerForager
if (moveScope.getScore().compareTo(maxScore) > 0) {