I don't understand the reason of the interface Predictor. 
I think Node is a legit class, but the responsibility of the Node should be store List of Words. However this Node is acting as a Dictionary too.  
From a design point of view. I think should be a class called Dictionary that has wordsMap and childrenMap and node only be part of this HashMaps.
Nevertheless, I would understand this if he had a time limit