Variant of
#unmarshal(HierarchicalStreamReader,Object,DataHolder) that nulls out non-
transient instance fields not defined in the source when unmarshaling into an existing object.
Typically useful when loading user-supplied XML files in place (non-null
root)
where some reference-valued fields of the root object may have legitimate reasons for being null.
Without this mode, it is impossible to clear such fields in an existing instance,
since XStream has no notation for a null field value.
Even for primitive-valued fields, it is useful to guarantee
that unmarshaling will produce the same result as creating a new instance.
Do not use in cases where the root objects defines fields (typically
final)
which it expects to be
Nonnull unless you are prepared to restore default values for those fields.