Reverse a linked list in place recursively

template
void LinkedList::ReverseRecursive( LinkedListNode* pCur)
{
    if(nullptr == pCur)
    {
        return;
    }
    
    if(nullptr == pCur->GetNextNode())
    {
        m_header = pCur;
        return;
    }
    
    ReverseRecursive( pCur->GetNextNode() );
    pCur->GetNextNode()->SetNextNode(pCur);
    pCur->SetNextNode(nullptr);
}