private void initTableColumns() {
        // Name.
        final Column<AnnotationTag, String> nameColumn = new Column<AnnotationTag, String>(new TextCell()) {
            @Override
            public String getValue(final AnnotationTag annotationTag) {
                return annotationTag.getName();
            }
        };
        dataGrid.addResizableColumn(nameColumn, "Name", 400);

        if (annotationTagType == AnnotationTagType.LABEL) {
            // Style.
            final Function<AnnotationTag, SafeHtml> function = annotationTag ->
                    ConditionalFormattingSwatchUtil.createSwatch(
                            ConditionalFormattingType.BACKGROUND,
                            annotationTag.getStyle(),
                            null,
                            null);
            dataGrid.addColumn(DataGridUtil.htmlColumnBuilder(function)
                            .build(),
                    DataGridUtil.headingBuilder("Style")
                            .withToolTip("The style the " + annotationTagType.getDisplayValue() + ".")
                            .build(),
                    200);
        }

        dataGrid.addEndColumn(new EndColumn<>());
    }
Add the columns to the table.
stroom-core-client/src/main/java/stroom/annotation/client/AnnotationTagListPresenter.java