code: protected CharSequence getSubMenu(final AbstractMenu _menu,
                                        final String _parent)
          throws EFapsException
      {
          final String var = RandomUtil.randomAlphabetic(4);
          final StringBuilder js = new StringBuilder();
          js.append("var ").append(var).append(" = new DropDownMenu({});\n");
          final UIGrid uiGrid = (UIGrid) getDefaultModelObject();
          for (final AbstractCommand child : _menu.getCommands()) {
              if (child.hasAccess(uiGrid.getCommand().getTargetMode(), uiGrid.getInstance())) {
                  if (child instanceof AbstractMenu) {
                      js.append(getSubMenu((AbstractMenu) child, var));
                  } else {
                      js.append(var).append(".addChild(")
                          .append(getMenuItem(child, false))
                          .append(");\n");
                  }
              }
          }
          js.append(_parent).append(".addChild(new PopupMenuBarItem({\n")
              .append("label: \"").append(StringEscapeUtils.escapeEcmaScript(_menu.getLabelProperty())).append("\",\n")
              .append(" popup: ").append(var).append("\n")
              .append(" }));\n");
          return js;
      }
docs: Gets the sub menu.
  
  @param _menu the menu
  @param _parent the parent
  @return the sub menu
  @throws EFapsException on error