Como adicionar elementos na árvore de pesquisa binária iterativamente?

   public void Insert(int value)
    {
        if (value < Data)
        {
            if (LeftNode == null)
            {
                LeftNode = new TreeNode(value);
            }
            else
            {
                LeftNode.Insert(value);
            }
        }
        else if (value > Data)
        {
            if (RightNode == null)
            {
                RightNode = new TreeNode(value);
            }
            else
            {
                RightNode.Insert(value);
            }
        }
    }

Eu escrevi o método para adicionar elemento no BST recursivamente. Ele verifica se o valor adiciona menos que ou maior que e adiciona-o em seu devido lugar, mas quero saber como o método iterativo funciona. Eu preciso adicionar método iterativo para o meu BST.

questionAnswers(3)

yourAnswerToTheQuestion