Recorrer todos los nodos de un TreeView

Necesitaba guardar los cambios del treeview realizados por el usuario, por lo que debo recorrer todo el árbol.

Para ello utilizo la siguiente manera.

Private Sub PrintRecursive(ByVal n As TreeNode)
   System.Diagnostics.Debug.WriteLine(n.Text) 'Muestra el texto del nodo en la ventana de inmediato
   MessageBox.Show(n.Text) 'Muestra el mismo mensaje por pantalla
   
   '*** Es aquí donde añado lo que necesito guardar de cada nodo ***  
   Dim aNode As TreeNode
   'Por cada nodo de la raíz
   For Each aNode In n.Nodes
      PrintRecursive(aNode)
   Next
End Sub

Private Sub CallRecursive(ByVal aTreeView As TreeView)
   Dim n As TreeNode
   'Por cada raíz
   For Each n In aTreeView.Nodes
      PrintRecursive(n)
   Next
End Sub