Recursive call in AVL Tree with Objects C#

new here and also new to coding. I've searched for an answer but to no avail.

I have an AVL Tree storing objects of say Person. In the Person class they have a name and age. I am using a generic Node and AVLTree class using IComparable. In the AVLTree class, I am trying to write a recursive method similar to the ones I already have for Height, Number of Nodes, InsertItem etc.... but I am coming stuck. Say I need to return the Node that stores the Person who is the Oldest (highest age) using a recursive method to pull this property (Person p - p.age)

The problem is I can't seem to access this information when writing the method in the AVLTree.

public Node<Person> Oldest()
            Node<Person> n = new Node<Person>();
            if (n.Data.Age == 0)
                return null;
            else if (n.Data.Age < n.Left.Data.Age)
            else if (n.Data.Age < n.Right.Data.Age)

            n.Data.Age = Math.Max(n.Right.Data.Age, n.Left.Data.Age);

            return n;


I know the Node is not referencing the actual tree, so as you can see I am not fully up to speed on recursion yet. I am just struggling making sense of it. Any help is greatly appreciated. Apologies again for noobness! Do I need to pass in a Node as a parameter?