JSON tree visiting - java-json-tools/json-schema-core GitHub Wiki
Have a tree visiting model which, at each step, can throw an exception, and which allows return values deciding on the fate of the traversal. Much like Java 7's FileVisitor/FileVisitResult.
Allow implementors to select which nodes of a tree to visit. Guava's TreeTraverser, for instance, allows production of subnodes to visit. But what would you do with a FluentIterable<SchemaTree>? Also, only breadth first is needed (right?). And none of FluentIterable's methods allow to throw checked exceptions. Meh.