code: protected String getMenuItemHtml(boolean hasSubMenu) {
  
          StringBuffer html = new StringBuffer();
          if (hasSubMenu) {
              // if this menu item has a sub menu show the arrow-icon behind the text of the icon
              html.append("<div class=\"");
              html.append(I_CmsLayoutBundle.INSTANCE.contextmenuCss().arrow()).append(" ").append(
                  I_CmsButton.ICON_FONT).append(" ").append(I_CmsButton.TRIANGLE_RIGHT);
              html.append("\"></div>");
          }
          String iconClass = m_entry.getIconClass();
          if (iconClass == null) {
              iconClass = "";
          }
          String iconHtml = "<div class='" + iconClass + "'></div>";
  
          html.append(
              "<div class='" + I_CmsLayoutBundle.INSTANCE.contextmenuCss().iconBox() + "'>" + iconHtml + "</div>");
          // add the text to the item
          html.append("<div class=\"");
          html.append(I_CmsLayoutBundle.INSTANCE.contextmenuCss().label());
          html.append("\">" + getText() + "</div>");
  
          return html.toString();
      }
docs: Generates the HTML for a menu item.<p>
  
  @param hasSubMenu signals if this menu has a sub menu
  
  @return the HTML for the menu item