static Criteria buildRegex(Criteria criteria, Object regexValue) { if (regexValue instanceof List) { return criteria.all( ((List<String>) regexValue) .stream() .map(regex -> Pattern.compile(regex, Pattern.CASE_INSENSITIVE)) .collect(Collectors.toList())); } else { return criteria.regex(Pattern.compile((String) regexValue, Pattern.CASE_INSENSITIVE)); } }