"fillMaxScore" and "fillFirstAndSibling" sould not be methods of "Predictor" because they are not related to prediction itself.
"(*Predictor).build" just should encode N-grams and store them into the trie.
Iterate Ngrams in "BuildPredictor".