anchor.diff:  
   Now you are ready to put everything together and create a REST service.
   But solving planning problems on REST threads causes HTTP timeout issues.
  -Therefore, the Spring Boot starter injects a `SolverManager` class,
  +Therefore, the Spring Boot starter injects a `SolverManager` instance,
   which runs solvers in a separate thread pool
   and can solve multiple datasets in parallel.
   
  
positive.code: * A teacher prefers to teach every lesson in a single room.
  * A teacher prefers to teach sequential lessons and dislikes gaps between lessons.
  
  Mathematically speaking, school timetabling is an _NP-hard_ problem. This means it is difficult to scale. Simply using brute force to iterate through all possible combinations would take millions of years for a non-trivial data set, even on a supercomputer.
  Luckily, AI constraint solvers such as OptaPlanner have advanced algorithms
  that deliver a near-optimal solution in a reasonable amount of time.
  
  
negative.code: 
  The `timeslotList` field is a value range provider.
  It holds the `Timeslot` instances which OptaPlanner can pick from to assign to the `timeslot` field of `Lesson` instances.
  The `timeslotList` field has an `@ValueRangeProvider` annotation to connect the `@PlanningVariable` with the `@ValueRangeProvider`,
  by matching the value of the `id` property with the value of the `valueRangeProviderRefs` property of the `@PlanningVariable` annotation in the `Lesson` class.
  
  Following the same logic, the `roomList` field also has an `@ValueRangeProvider` annotation.
  