/**
  * @param menuManager
  * @param childME
  */
 void modelProcessSwitch(MenuManager menuManager, MMenuElement childME) {
   if (!childME.isToBeRendered()) {
     return;
   }
   if (childME instanceof MRenderedMenuItem) {
     MRenderedMenuItem itemModel = (MRenderedMenuItem) childME;
     processRenderedItem(menuManager, itemModel);
   } else if (childME instanceof MHandledMenuItem) {
     MHandledMenuItem itemModel = (MHandledMenuItem) childME;
     processHandledItem(menuManager, itemModel);
   } else if (childME instanceof MDirectMenuItem) {
     MDirectMenuItem itemModel = (MDirectMenuItem) childME;
     processDirectItem(menuManager, itemModel, null);
   } else if (childME instanceof MMenuSeparator) {
     MMenuSeparator sep = (MMenuSeparator) childME;
     processSeparator(menuManager, sep);
     // } else if (childME instanceof MOpaqueMenu) {
     // I'm not sure what to do here
     // so I'll just take it out of the running
   } else if (childME instanceof MMenu) {
     MMenu itemModel = (MMenu) childME;
     processMenu(menuManager, itemModel);
   }
 }