public void EachInOrder(Action <T> action)
 {
     LeftChild?.EachInOrder(action);
     action.Invoke(this.Value);
     RightChild?.EachInOrder(action);
 }
 public void EachInOrder(Action <T> action)
 {
     LeftChild?.EachInOrder(action);
     action(Value);
     RightChild?.EachInOrder(action);
 }