public static BarSubItem ClearEmptyItems(BarSubItem barItem) { for (int i = barItem.ItemLinks.Count - 1; i >= 0; i--) { BarItemLink li = barItem.ItemLinks[i]; if ((li.Item) is BarSubItem) { ClearEmptyItems((BarSubItem)li.Item); } } if (barItem.ItemLinks.Count == 0) { barItem.Dispose(); return(null); } return(barItem); }