Nuacht

In the iterator, store the current node, the current word (all previous characters, initially empty), and the position in the children/links array.
Java developers have a choice for iterating collection of objects. Here's why the Java Iterator vs. Enumeration debate is all about the Iterator.
Java also lets you nest interfaces in interfaces and classes in interfaces. Check out this article on nested interfaces to learn about this strange but occasionally useful Java language feature.