nextVisibleAncestralSiblingNode() {
        let next;

        if (this.hasParent()) {
            const parent = this.getParent();
            next = parent.nextVisibleSiblingNode();

            if (!next) {
                next = parent.nextVisibleAncestralSiblingNode();
            }
        }

        return next;
    }
Find the next visible sibling of our ancestor. Continues
seeking up the tree until a valid node is found or we
reach the root node.

@return {TreeNode} Node object.