public int getLargestChildIndex(int n) 
    {
        int leftChildIndex = getLeftNode(n); //with passed in index, get the left child index
        int rightChildIndex = getRightNode(n); // get the right child index
        
        Comparable leftChild = getLeftKid(n); // get the left child itself from the get left method
        Comparable rightChild = getRightKid(n); // get the right child itself from the get right method
        
        if (leftChild == null && rightChild == null) // this was used for debugging, keeping anyways lol
        {
            return -1;
        }
        
        if (rightChild == null) // if there is no right kid just return the left kid index
        {
            return leftChildIndex;
        }
        
        if (leftChild == null)
        {
            return rightChildIndex; // don't think this will ever happen, but code works so whatever
        }
        
        if (isFirstBigger(leftChild, rightChild))
        {
            return leftChildIndex;
        }
        else
        {
            return rightChildIndex;
        }
    }