public static <R> List<ColumnFilterData<?>> getAllColumnFilterData(
			RowObjectFilterModel<R> model,
			TableColumnModel columnModel) {
		List<ColumnFilterData<?>> filters = new ArrayList<>();
		int columnCount = columnModel.getColumnCount();
		for (int viewIndex = 0; viewIndex < columnCount; viewIndex++) {
			int modelIndex = columnModel.getColumn(viewIndex).getModelIndex();
			Class<?> columnClass = model.getColumnClass(modelIndex);
			ColumnFilterData<?> columnData =
				createColumnFilterData(model, modelIndex, viewIndex, columnClass);
			if (columnData.isFilterable()) {
				filters.add(columnData);
			}
		}
		return filters;
	}
Constructs a new ColumnFilterModel

@param model the RowObjectFilterModel of the table being filtered.
@param columnModel the TableColumnModel of the table being filtered.
@param currentColumnTableFilter the currently applied TableColumnFilter or null if there is
no current TableColumnFilter applied.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/constraint/dialog/ColumnFilterDialogModel.java