code: @UiChild(tagname = "cell")
      public Widget add(Widget widget, String addStyleNames) {
  
          int size = getElement().getChildCount();
          String klass = getCellStyleName(size);
  
          JQMTableCell cell = new JQMTableCell();
          Element cellElt = cell.getElement();
          cellElt.setId(Document.get().createUniqueId());
          removeAllCellStyles(cellElt);
          cellElt.addClassName(klass);
          prepareCellPercentStyle(size, cell);
          if (addStyleNames != null && !addStyleNames.isEmpty()) {
              JQMCommon.addStyleNames(cell, addStyleNames);
          }
          cell.add(widget);
  
          flow.add(cell);
  
          JQMContext.render(cell.getElement().getId());
  
          return cell;
      }
docs: Add the given {@link Widget} into the next available cell. This call
  will wrap to a new row if the existing row is already filled.
  
  The given widget will be wrapped inside a div with the appropriate
  JQuery Mobile class name given (eg, "ui-block-a" for the first cell,
  etc). This created div will have an automatically assigned id.
  
  @param addStyleNames - space separated additional style names for this particular cell
  @return the widget that was created to wrap the given content