InListPredicate contains a list of acceptable values. A value needs to match at least
one of the elements (logical OR semantic) for the predicate to be satisfied.
Range defines a single continuous range which can optionally have a lower and/or upper limit.
Both the lower and upper bounds must be satisfied for the range condition to be true.