public void printAncestors(BSTNode<T> root, BSTNode<T> target) {
        Map<T,T> parentMap = new HashMap<>();
        LinkedList<BSTNode<T>> queue = new LinkedList<>();
        queue.add(root);
        parentMap.put(root.data, null);
        while(!queue.isEmpty()) {
            BSTNode<T> node = queue.remove();
            if(node == target) {
                break;
            }


            if(node.left!=null) {
                queue.add(node.left);
                parentMap.put(node.left.data, node.data);
            }

            if(node.right!=null) {
                queue.add(node.right);
                parentMap.put(node.right.data, node.data);

            }

        }

        while(true) {
            if(parentMap.get(target.data) == null) {
                break;
            }
            System.out.println(parentMap.get(target.data));
            target.data = parentMap.get(target.data);
        }

    }