private ValueRangeDescriptor buildValueRangeDescriptor(DescriptorPolicy descriptorPolicy,
String valueRangeProviderRef, boolean addNullInValueRange) {
if (descriptorPolicy.hasFromSolutionValueRangeProvider(valueRangeProviderRef)) {
Method readMethod = descriptorPolicy.getFromSolutionValueRangeProvider(valueRangeProviderRef);
return new FromSolutionPropertyValueRangeDescriptor(this, addNullInValueRange, readMethod);
} else if (descriptorPolicy.hasFromEntityValueRangeProvider(valueRangeProviderRef)) {
Method readMethod = descriptorPolicy.getFromEntityValueRangeProvider(valueRangeProviderRef);
return new FromEntityPropertyValueRangeDescriptor(this, addNullInValueRange, readMethod);
} else {
throw new IllegalArgumentException("The entityClass (" + entityDescriptor.getEntityClass()