anchor.diff:  More advanced implementations push the best solutions directly to the UI or a messaging queue.
   
   If the user is satisfied with the intermediate best solution
  -and does not want to wait for a better one, call `SolverManager.terminateEarly(problemId)`.
  +and does not want to wait any longer for a better one, call `SolverManager.terminateEarly(problemId)`.
  
positive.code: SolverManager<CloudBalance, UUID> solverManager = SolverManager.create(solverConfig, new SolverManagerConfig());
  ----
  
  Each problem submitted to the `SolverManager.solve(...)` methods needs a unique problem ID,
  to distinguish with other problems in other calls,
  such as `getSolverStatus(problemId)` and `terminateEarly(problemId)`.
  The problem ID must be an immutable class, such as `Long`, `String` or `java.util.UUID`.
  
  The `SolverManagerConfig` class has a `parallelSolverCount` property,
  
negative.code: [[solverManagerSolveAndListen]]
  === Solve and listen to show progress to the end-user
  
  When a solver is running while an end-user is waiting for that solution,
  the user might need to wait for several minutes or hours before receiving a result.
  To assure the user that everything is going well,
  show progress by displaying the best solution and best score attained so far.
  
  To handle intermediate best solutions, use `solveAndListen(...)`:
  
  