/** * @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); } }