private static <T extends Number & Comparable<?>> BooleanExpression rangeBetween(
NumberPath<T> target,
T minValue,
T maxValue) {
if (minValue == null && maxValue == null) {
return null;
}
if (minValue == null) {
return target.loe(maxValue);
}
if (maxValue == null) {
return target.goe(minValue);
}
return target.between(minValue, maxValue);
}