public virtual bool IsLinkedResource(PropertyInfo pi)
{
var type = pi.PropertyType;
bool isPrimitiveType = IsMarkedSerializeAsPrimitive(pi) || type.IsPrimitive || type.IsValueType || (type == typeof(string) || (type == typeof(DateTime)) || (type == typeof(TimeSpan)) || (type == typeof(DateTimeOffset)));
return !isPrimitiveType;
}