public ColumnBasedTableFilter<R> getTableColumnFilter() {
		if (!isValid()) {
			return null;
		}
		if (filterRows.isEmpty()) {
			return null;
		}
		ColumnBasedTableFilter<R> tableColumnFilter = new ColumnBasedTableFilter<>(tableModel);
		for (DialogFilterRow filterRow : filterRows) {
			filterRow.addToTableFilter(tableColumnFilter);
		}
		if (tableColumnFilter.isEquivalent(currentFilter)) {
			return currentFilter;
		}
		return tableColumnFilter;
	}
Builds a ColumnTableFilter from this model if the model is valid.

@return a new ColumnTableFilter based on the configuration of this model or null if the model
is invalid.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/constraint/dialog/ColumnFilterDialogModel.java