case PropertyType.DATE:
return new DateValue((Calendar) val);
case PropertyType.DOUBLE:
return new DoubleValue((Double) val);
case PropertyType.LONG:
return new LongValue((Long) val);
case PropertyType.REFERENCE:
return ReferenceValue.valueOf(val.toString());
case PropertyType.PATH:
return PathValue.valueOf(resolver.getJCRPath((Path) val));
case PropertyType.NAME: