EntityPlacer hackEntityPlacer = entityPlacerList.get(0);
ConstructionHeuristicStepScope stepScope = createNextStepScope(phaseScope, null);
while (!termination.isPhaseTerminated(phaseScope) && hackEntityPlacer.hasPlacement()) {
stepStarted(stepScope);
hackEntityPlacer.doPlacement(stepScope);
Move nextStep = stepScope.getStep();
if (nextStep == null) {
logger.warn(" Cancelled step index ({}), time spend ({}): there is no doable move. Terminating phase early.",
stepScope.getStepIndex(),
phaseScope.calculateSolverTimeMillisSpend());