@SuppressWarnings("unchecked")
	private ColumnConstraint<T> findColumnConstraint(String constraintName, String value,
			Object dataSource) {
		Class<T> columnClass = (Class<T>) model.getColumnClass(columnIndex);
		Collection<ColumnConstraint<T>> columnConstraints =
			DiscoverableTableUtils.getColumnConstraints(columnClass);

		for (ColumnConstraint<?> constraint : columnConstraints) {
			if (constraint.getName().equals(constraintName)) {
				return (ColumnConstraint<T>) constraint.parseConstraintValue(value, dataSource);
			}
		}
		throw new IllegalArgumentException(
			"Can't find constraint for " + constraintName + " for value: " + value);
	}
Constructor when deserializing from a SaveState

@param model the table model being filtered
@param saveState the SaveState which contains the configuration for this filter.
@param dataSource the table's DataSource.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/columnfilter/ColumnConstraintSet.java