@@ -344,14 +344,14 @@ protected void afterSetWorkingSolution() {
344344 }
345345
346346 public void unassignInconsistentEntities () {
347- var inconsistentEntities = variableListenerSupport .getInconsistentEntities ();
347+ var inconsistentEntities = shadowVariableSupport .getInconsistentEntities ();
348348 if (listVariableStateSupply != null ) {
349349 var listVariableDescriptor = listVariableStateSupply .getSourceVariableDescriptor ();
350350 var listElementClass = listVariableStateSupply .getSourceVariableDescriptor ().getElementType ();
351351 for (var inconsistentEntity : inconsistentEntities ) {
352352 if (listElementClass .isInstance (inconsistentEntity )) {
353353 var inverse = Objects .requireNonNull (listVariableStateSupply .getInverseSingleton (inconsistentEntity ));
354- int index = Objects . requireNonNull ( listVariableStateSupply .getIndex (inconsistentEntity ) );
354+ int index = listVariableStateSupply .getIndexOrFail (inconsistentEntity );
355355
356356 if (listVariableDescriptor .isElementPinned (Objects .requireNonNull (workingSolution ), inverse , index )) {
357357 throw new IllegalStateException ("""
@@ -364,7 +364,7 @@ public void unassignInconsistentEntities() {
364364 listVariableDescriptor .removeElement (inverse , index );
365365 afterListVariableChanged (listVariableDescriptor , inverse , index , index );
366366 afterListVariableElementUnassigned (listVariableDescriptor , inconsistentEntity );
367- triggerVariableListeners ();
367+ updateShadowVariables ();
368368 }
369369 // Unassign any normal @PlanningVariable on the entity too
370370 unassignPlainEntity (inconsistentEntity );
@@ -393,7 +393,7 @@ private void unassignPlainEntity(Object inconsistentEntity) {
393393 genuineVariableDescriptor .setValue (inconsistentEntity , null );
394394 afterVariableChanged (genuineVariableDescriptor , inconsistentEntity );
395395 }
396- triggerVariableListeners ();
396+ updateShadowVariables ();
397397 }
398398
399399 @ Override
0 commit comments