rowStart = layoutRow(fv, rowIndex, rowStart); rowIndex++;
int next = layoutRow(fv, rowIndex, start); if (row.getViewCount() == 0) { row.append(createView(fv, start, Integer.MAX_VALUE, rowIndex)); next = row.getEndOffset(); } if (start < next) start = next; else assert false: "May not happen";
    public void layout(FlowView fv)    {      fv.removeAll();      Element el = fv.getElement();      int rowStart = el.getStartOffset();      int end = el.getEndOffset();      int rowIndex = 0;      while (rowStart >= 0 && rowStart < end)        {          View row = fv.createRow();          fv.append(row);          rowStart = layoutRow(fv, rowIndex, rowStart);          rowIndex++;        }    }