private void organizeColumns()
    {
        columns = new Vector<TableColumn>();
        for (int bi = 0; bi < nested.size(); bi++)
        {
            Box box = nested.elementAt(bi);
            if (box instanceof TableColumn)
            {
                TableColumn col = (TableColumn) box;
                if (col.getSpecifiedWidth().equals(""))
                    col.setSpecifiedWidth(colwidth); //when column width is not set, use the group width
                for (int i = 0; i < col.getSpan(); i++)
                {
                    if (i == 0)
                        columns.add(col);
                    else
                        columns.add(col.copyBox());
                }
            }
        }
        //when there are no <col> elements, use the span attribute
        if (columns.isEmpty())
        {
            TableColumn col = new TableColumn(TableColumn.createAnonymousColumn(getParent().getElement().getOwnerDocument()), g, ctx);
            col.setSpecifiedWidth(colwidth);
            for (int i = 0; i < span; i++)
                columns.add(col.copyBox());
        }
    }
private void organizeColumns ( ) { columns = new Vector < TableColumn > ( ) ; for ( int bi = 0 ; bi < nested . size ( ) ; bi ++ ) { Box box = nested . elementAt ( bi ) ; if ( box instanceof TableColumn ) { TableColumn col = ( TableColumn ) box ; if ( col . getSpecifiedWidth ( ) . equals ( "" ) ) col . setSpecifiedWidth ( colwidth ) ; for ( int i = 0 ; i < col . getSpan ( ) ; i ++ ) { if ( i == 0 ) columns . add ( col ) ; else columns . add ( col . copyBox ( ) ) ; } } } if ( columns . isEmpty ( ) ) { TableColumn col = new TableColumn ( TableColumn . createAnonymousColumn ( getParent ( ) . getElement ( ) . getOwnerDocument ( ) ) , g , ctx ) ; col . setSpecifiedWidth ( colwidth ) ; for ( int i = 0 ; i < span ; i ++ ) columns . add ( col . copyBox ( ) ) ; } }
====================================================================================