Iam trying to implement a recursive insert node method for BST class
 public void insertNode(Node r, Node n)
{
    if(r == null)
    {
        System.out.println("r=n"+ n.data);
        r = n;
    }
    else
    {
        System.out.println("r=! null finding place in tree for "+ n.data);
        if(n.data <= r.data)
        {
            if(r.left == null)
                r.left = n;
            else
                insertNode(r.left, n);
        }
        else
        {
            if(r.right == null)
                r.right = n;
            else
                insertNode(r.right, n);
        }
    }
}
Im trying to invoke this method like so:
  int[] arrTree = {34, 2, 56, 12, 44, 39, 56, 1};
    BT t = new BT();
    for (int i = 0; i < arrTree.length; i++)
    {
        //System.out.println("Tree Root = "+ t.getRoot());
        BT.Node n =  t.new Node(arrTree[i]);
        t.insertNode(t.root, n);
    }
But Im always getting this output:
 r=n34
 r=n2
 r=n56
 r=n12
 r=n44
 r=n39
 r=n56
 r=n1
Node is an inner class of BT.
I cannot figure it out after hours of running and trying different things what Im doing wrong.
 
     
     
    