// Treat as an unknown value.
//
String msg = "Error while executing the JavaScript provider for property '"
+ propertyName + "'";
logger.log(TreeLogger.ERROR, msg, e);
throw new BadPropertyValueException(propertyName, "<failed to compute>");
}
// value may be null if the provider returned an unknown property value.
if (Arrays.asList(values).contains(value)) {
return value;
} else {
// Bad value due to the provider returning an unknown value.
// The fact that the provider returned an invalid value will also
// have been reported to the JS bad property value handler function.
throw new BadPropertyValueException(propertyName, value);
}
}