void endColGroup() {
        if (needSuppressEnd()) {
            return;
        }
        switch (state) {
            case IN_COLGROUP:
                if (pendingColGroupSpan != 0) {
                    int right = columnCount + Math.abs(pendingColGroupSpan);
                    Locator locator = new LocatorImpl(
                            owner.getDocumentLocator());
                    ColumnRange colRange = new ColumnRange("colgroup", locator,
                            columnCount, right);
                    appendColumnRange(colRange);
                    columnCount = right;
                }
                realColumnCount = columnCount;
                state = State.IN_TABLE_COLS_SEEN;
                break;
            default:
                throw new IllegalStateException("Bug!");
        }
    }
Constructor.
@param owner reference back to the checker
src/nu/validator/checker/table/Table.java