final DoubleFloatingPointValueFacet doubleValueFacet = specification.getFacet(DoubleFloatingPointValueFacet.class);
if (doubleValueFacet != null) {
return doubleValueFacet.doubleValue(value).doubleValue();
}
final FloatingPointValueFacet floatValueFacet = specification.getFacet(FloatingPointValueFacet.class);
if (floatValueFacet != null) {
return floatValueFacet.floatValue(value).doubleValue();
}
final MoneyValueFacet moneyValueFacet = specification.getFacet(MoneyValueFacet.class);
if (moneyValueFacet != null) {
return moneyValueFacet.getAmount(value);