CriteriaBuilder builder = new CriteriaBuilder();
for (Criteria cri : list) {
PropertyBuilder propertyBuilder = new PropertyBuilder();
for (Matcher matcher : cri.value()) {
PropertyMatcher instance = matcher.matcher().newInstance();
instance.setValue(matcher.classValue() == UnsetDefault.class ? matcher.stringValue() : matcher.classValue());
propertyBuilder.build(matcher.property(), instance);
}
builder.build(propertyBuilder);
}
return builder.getCriteria();