if (values.length == 1) {
if (isNull(values[0])) {
return criteriaBuilder.isNull(root.get(property));
}
return criteriaBuilder.equal(root.get(property), values[0]);
<BUG>}
for (int i = 0; i < values.length - 1; i++) {</BUG>
if (Objects.isNull(values[i])) {
<BUG>criteriaBuilder.or(criteriaBuilder.isNull(root.get(property)));
</BUG>
} else {

if (values.length == 1) {
if (isNull(values[0])) {
return criteriaBuilder.isNull(root.get(property));
}
return criteriaBuilder.equal(root.get(property), values[0]);
}
List<Predicate> predicates = new ArrayList<>();
for (int i = 0; i < values.length - 1; i++) {
if (Objects.isNull(values[i])) {
predicates.add(criteriaBuilder.isNull(root.get(property)));
