@SuppressWarnings("unchecked")
	@Override
	public VariableValue getValidValue(VariableValue value) {
		if (value == null)
			return min;
		if (!(value instanceof Comparable<?>))
			return min;
		if (((Comparable<VariableValue>)min).compareTo(value) > 0)
			return min;
		if (((Comparable<VariableValue>)max).compareTo(value) < 0)
			return max;
		return value;
	}