if (tableBox.columnCell != null) {
if (tableBox.columnCell != null && tableBox.columnCell[col] != null) {
    private static void fixHeights(TableBox tableBox, int borderSpacingVertical) {        tableBox.height += borderSpacingVertical;        for (Iterator tci = tableBox.getChildIterator(); tci.hasNext();) {            Object tc = tci.next();            if (tc instanceof RowBox) {                RowBox row = (RowBox) tc;                int col = 0;                for (Iterator cbi = row.getChildIterator(); cbi.hasNext();) {                    while (tableBox.columnRows[col] != 0) {                        if (tableBox.columnCell != null) {                            tableBox.columnCell[col].height += borderSpacingVertical + row.height;                        }                        col = col + 1;                    }                    CellBox cb = (CellBox) cbi.next();                    for (int j = 0; j < cb.colspan; j++) {                        tableBox.columnRows[col + j] = cb.rowspan;                        if (j == 0)                            tableBox.columnCell[col + j] = cb;                        else                            tableBox.columnCell[col + j] = null;                    }                    cb.height = row.height;                    col += cb.colspan;                }                while (col < tableBox.columnRows.length && tableBox.columnRows[col] != 0) {                    if (tableBox.columnCell != null) {                        tableBox.columnCell[col].height += borderSpacingVertical + row.height;                    }                    col = col + 1;                }                for (int j = 0; j < tableBox.columns.length; j++) {                    tableBox.columnRows[j]--;                }            } else                XRLog.layout(Level.WARNING, "Can't fix widths of " + tc.getClass().getName() + " yet!");        }    }