public final void validate() {
    this.accept(new TreeVisitor() {
      @Override
      public boolean preVisit(TreeNode node) {
        node.validateInner();
        return true;
      }
    });
  }
public final void validate ( ) { this . accept ( new TreeVisitor ( ) { @ Override public boolean preVisit ( TreeNode node ) { node . validateInner ( ) ; return true ; } } ) ; }
Validates the tree to preemptively catch errors.