anchor.diff:  
   [IMPORTANT]
   ====
  -**Any class that has at least one shadow variable, is a planning entity class**, even if it has no genuine planning variables.
  -That entity class needs to be defined in the solver configuration (unless classes are <<automaticScanningForAnnotations,automatically scanned>>)
  -and be annotated accordingly.
  +**Any class that has at least one shadow variable, is a planning entity class (even if it has no genuine planning variables).
  +That class must be defined in the solver configuration** (unless classes are <<automaticScanningForAnnotations,automatically scanned>>)
  +**and have a `@PlanningEntity` annotation.**
   
   A genuine planning entity class has at least one genuine planning variable, but can have shadow variables too.
   A shadow planning entity class has no genuine planning variables and at least one shadow planning variable.
  
positive.code: }
  ----
  
  The `sourceVariableName` property is the name of the chained variable on the same entity class.
  
  
  
negative.code: }
  ----
  
  <<shadowVariableIntroduction,Register this class as a planning entity.>>
  
  [WARNING]
  ====
  The input planning problem of a `Solver` must not violate bi-directional relationships.
  If A points to B, then B must point to A.
  Planner will not violate that principle during planning, but the input must not violate it either.
  ====
  
  
  