/**
  * Walk a tree with a listener
  *
  * @param tree the schema tree to walk
  * @param listener the listener
  * @param report the processing report to use
  * @param <T> the value type produced by the listener
  * @throws ProcessingException processing failure
  */
 public final <T> void walk(
     final SchemaTree tree, final SchemaListener<T> listener, final ProcessingReport report)
     throws ProcessingException {
   walkTree(JsonPointer.empty(), tree, listener, report);
 }