public Message visitSize(SizePropertyDefinition pd, Long v, Void p) {
if (pd.isAllowUnlimited() && v < 0) {
return INFO_VALUE_UNLIMITED.get();
}
SizeUnit unit = sizeUnit;
if (unit == null) {
if (isScriptFriendly) {
// Assume users want a more accurate value.
unit = SizeUnit.getBestFitUnitExact(v);
} else {
unit = SizeUnit.getBestFitUnit(v);
}
}
MessageBuilder builder = new MessageBuilder();
builder.append(numberFormat.format(unit.fromBytes(v)));
builder.append(' ');
builder.append(unit.getShortName());
return builder.toMessage();
}