anchor.diff:  
   [source,java]
   ----
  -public class TimeTableEasyScoreCalculator implements EasyScoreCalculator<TimeTable> {
  +public class TimeTableEasyScoreCalculator implements EasyScoreCalculator<TimeTable, HardSoftScore> {
   
       @Override
       public HardSoftScore calculateScore(TimeTable timeTable) {
  
positive.code: 
  import javax.inject.Inject;
  import javax.transaction.Transactional;
  import javax.ws.rs.Consumes;
  import javax.ws.rs.GET;
  import javax.ws.rs.POST;
  import javax.ws.rs.Path;
  import javax.ws.rs.Produces;
  import javax.ws.rs.core.MediaType;
  
  import io.quarkus.panache.common.Sort;
  import org.acme.optaplanner.domain.Lesson;
  
negative.code: 
  == Define the constraints and calculate the score
  
  A _score_ represents the quality of a specific solution.
  The higher the better.
  OptaPlanner looks for the best solution, which is the solution with the highest score found in the available time.
  It might be the _optimal_ solution.
  
  Because this use case has hard and soft constraints,
  use the `HardSoftScore` class to represent the score:
  