@@ -50,19 +50,21 @@ public List<RecommendedFit<Out_, Score_>> apply(InnerScoreDirector<Solution_, Sc
5050 entityPlacer .stepStarted (stepScope );
5151
5252 try (scoreDirector ) {
53- for (var placement : entityPlacer ) {
54- var recommendedFitList = new ArrayList <RecommendedFit <Out_ , Score_ >>();
55- var moveIndex = 0L ;
56- for (var move : placement ) {
57- recommendedFitList .add (execute (scoreDirector , move , moveIndex , clonedElement , valueResultFunction ));
58- moveIndex ++;
59- }
60- recommendedFitList .sort (null );
61- return recommendedFitList ;
53+ var placementIterator = entityPlacer .iterator ();
54+ if (!placementIterator .hasNext ()) {
55+ throw new IllegalStateException ("""
56+ Impossible state: entity placer (%s) has no placements.
57+ """ .formatted (entityPlacer ));
6258 }
63- throw new IllegalStateException ("""
64- Impossible state: entity placer (%s) has no placements.
65- """ .formatted (entityPlacer ));
59+ var placement = placementIterator .next ();
60+ var recommendedFitList = new ArrayList <RecommendedFit <Out_ , Score_ >>();
61+ var moveIndex = 0L ;
62+ for (var move : placement ) {
63+ recommendedFitList .add (execute (scoreDirector , move , moveIndex , clonedElement , valueResultFunction ));
64+ moveIndex ++;
65+ }
66+ recommendedFitList .sort (null );
67+ return recommendedFitList ;
6668 } finally {
6769 entityPlacer .stepEnded (stepScope );
6870 entityPlacer .phaseEnded (phaseScope );
0 commit comments