It should not be possible to end up with an asset representation that does not have a valid pointer/reference to the asset library owning it, it's injected via all constructors. So reflect that by using a reference instead of a (possibly null) pointer.