void CreateDropDownItems()
{
// let's assume that if a menuBuilder exists,
// as in the Search Results panel or the Class
// Browser toolbar, it will handle this step.
if (menuBuilder != null) {
return;
}
// also, let's prevent a null exception
// in the event that there are no subitems
if (subItems == null || subItems.Count==0) {
return;
}
DropDownItems.Clear();
foreach (object item in subItems)
{
if (item is ToolStripItem)
{
DropDownItems.Add((ToolStripItem)item);
if (item is IStatusUpdate)
{
((IStatusUpdate)item).UpdateStatus();
((IStatusUpdate)item).UpdateText();
}
}
else
{
ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item;
DropDownItems.AddRange(submenuBuilder.BuildSubmenu(codon, caller));
}
}
}