<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package visitor;

public class TreeNode&lt;T&gt; {
   TreeNode&lt;T&gt; left;
   TreeNode&lt;T&gt; right;
   T datum;
   
   TreeNode(TreeNode&lt;T&gt; l, TreeNode&lt;T&gt; r, T d) {
      left = l;
      right = r;
      datum = d;
   }
   
   void traverse(Visitor&lt;T&gt; v) {
      v.visitPre(datum);
      if (left != null) left.traverse(v);
      v.visitIn(datum);
      if (right != null) right.traverse(v);
      v.visitPost(datum);
   }

}
</pre></body></html>