eeee lo so che rompo ma questa non so proprio come prenderla

Ho un menu nella masterpage siffatto:
codice:
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" RenderingMode="List" StaticEnableDefaultPopOutImage="False"></asp:Menu>
                <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" />


<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode title="main">
    <siteMapNode   title="Menu admin">
      <siteMapNode  title="tab1"       url="tab1.aspx"    view="1"></siteMapNode>
     </siteMapNode>
     <siteMapNode  title="Menu utenti" >
        <siteMapNode title="tab2"      url="tab2.aspx"    view="2"></siteMapNode>
     </siteMapNode>
     <siteMapNode  title="Menu visitatori" >
        <siteMapNode title="tab3"      url="tab3.aspx"    view="3"></siteMapNode>
     </siteMapNode>
</siteMapNode>
</siteMap>
Ora nella masterpage devo nascondere alcune voci di menu a seconda dell'utente che entra nel sito.
Riesco a farlo per i childitem (cioè con tutte le voci tab1, tab2, tab3) usando l'istruzione seguente
codice:
Protected Sub Menu1_MenuItemDataBound(ByVal sender As Object, ByVal e As MenuEventArgs) Handles Menu1.MenuItemDataBound
        Dim mi As MenuItem = e.Item
        Dim node As SiteMapNode = mi.DataItem
        ....
        if node("view") = "1" then
            mi.Parent.ChildItems.Remove(mi)
        end if
        ....
ma non riesco a rimuovere in nessun modo il nodo con il padre (es quello con title="Menu admin" nel caso l'utente sia un visitatore)!

Sottolineo che nella parte aspx, ho indicato al sitemapdatasource di nascondere lo startingnode (alias <siteMapNode title="main">) e credo questo determini che per il nodo padre che voglio rimuovere non posso usare l'istruzione di rimozione suddetta perchè il nodo da rimuovere risulta avere parent=nothing....
Ma allora come diavolo posso fare per rimuovere quel nodo?