final ObjectAdapter valueAdapter = objectMember.get(objectAdapter);
// use the runtime type if we have a value, else the compile time type of the member otherwise
final ObjectSpecification spec = valueAdapter != null? valueAdapter.getSpecification(): objectMember.getSpecification();
final ValueFacet valueFacet = spec.getFacet(ValueFacet.class);
if (valueFacet != null) {
String format = null;
final Class<?> specClass = spec.getCorrespondingClass();
if(specClass == java.math.BigDecimal.class) {
// look for facet on member, else on the value's spec