The insync method for PropertyList starts with the following guard clause:
Nil values frequently occur when resources are transitioning from :absent to a managed state as the property hash for an absent resource usually takes the following form:
All other property values will be nil. The behavior of insync? results in PropertyList properties not being synced during resource creation. For some types, notably sparse Solaris zones (
PUP-2817), a property must be synced during resource creation in order to take effect.
In general, nil != a should value that is not nil so the logical return value for insync? is false.
This behavior also affects the OrderdList and KeyValue property classes.