Sure, my apologies.

What I want to achieve is to have a collection of menu items and each menu item can have x level deep submenus.
The menu item is populated from the DB and mapped to the following object:

Code:
public class MenuItem
{
   public int ID {get; set;}
   public int? ParentID {get; set; } // self referencing table, this points to "ID" if this MenuItem is a submenu of a parent
   public string MenuName { get; set; }
}
So when I obtain all records from the DB, each item is placed in a List<MenuItem> which includes parent and submenu items.

I then want to finally be able to correctly create the structure where for each menu item, it will find its child menu items and for each of those child items...finds its child items and so on....
So yes, the MenuItem could potentially have its own collection of MenuItems as submenus

does this help?