private Control createTagTable(Composite parent, GridData gd, int heightInRows) {
tagTableViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
tagTableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
tagTableViewer.setLabelProvider(new TagTableLabelProvider());
tagTableViewer.setContentProvider(new TagTableContentProvider());
tagTableViewer.addSelectionChangedListener(createSelectionChangedListener());
tagTableViewer.setCheckStateProvider(checkStateManager);
tagTableViewer.addCheckStateListener(checkStateManager);
tagTableViewer.addFilter(tagTableSearchFilter);
gd.heightHint = tagTableViewer.getTable().getItemHeight() * heightInRows;