case IAttr.DM_DOUBLE:
values.add(Value.getDoubleValue(val.asDouble()));
break;
case IAttr.DM_ID:
// TODO: Should we check for null here?
values.add(Value.getStringValue(val.asId().getId()));
break;
case IAttr.DM_INTEGER:
values.add(Value.getLongValue(val.asInteger()));
break;
case IAttr.DM_STRING: