* preOrderTraversal(node = this.root) {
    yield node;
    if (node.left) { yield* this.preOrderTraversal(node.left); }
    if (node.right) { yield* this.preOrderTraversal(node.right); }
  }
Pre-order traversal on a tree: root-left-right.
Similar results to DFS
@param {BinaryTreeNode} node first node to start the traversal
@yields {BinaryTreeNode}