This should be configurable as an `@IterationCount`, injected into the rating predictor. So the rating predictor should have a parameter `@IterationCount int niters`, which it then saves in a field `private final int iterationCount`, and then the train method uses that rather than this hard-coded `n`.