anchor.diff:  * The `workingSolution` in the `Solver` is never the same solution instance as in the rest of your application: it is a planning clone.
   * A planning clone also clones the planning entities and planning entity collections.
   +
  -So any change on the planning entities must happen on the instances held by ``scoreDirector.getWorkingSolution()``.
  -
  -. Use the method `ScoreDirector.lookUpWorkingObject()` to translate and retrieve the working solution's instance of an object.
  +Thus, any change on the planning entities must happen on the `workingSolution` instance passed to the `ProblemChange.doChange(Solution_ workingSolution, ProblemChangeDirector problemChangeDirector)` method.
  +
  +. Use the method `ProblemChangeDirector.lookUpWorkingObject()` to translate and retrieve the working solution's instance of an object.
   This requires xref:optimization-algorithms/optimization-algorithms.adoc#planningId[annotating a property of that class as the @PlanningId].
   
   . A planning clone does not clone the problem facts, nor the problem fact collections.
  
positive.code: 
  }
  ----
  
  [source,java,options="nowrap"]
  ----
  
negative.code: 
      ...
  
      void addProblemChange(ProblemChange<Solution_> problemChange);
  
      boolean isEveryProblemChangeProcessed();
  
  