visualTreeAssetSource is intentionally only set on root elements for performance reasons as it is used internally to track documents that might need reloading after asset changes.
When null, one can walk up the hierarchy until value is non-null to get the desired asset reference.