Address optional in withdraw and and deposit events?

The nba topshot smart contract indicates that address may or may not be returned with the withdraw and deposit events. Why would an address be missing? shouldn’t all of the deposit or withdraw events come from somewhere and go somewhere?

// Emitted when a moment is withdrawn from a Collection
pub event Withdraw(id: UInt64, from: Address?)
// Emitted when a moment is deposited into a Collection
pub event Deposit(id: UInt64, to: Address?)

When a resource is not owned by anybody there is no way to finding the Address of the owner. So this event field needs to be optional to handle that case.

You most often see this in a FungibleToken vault when you withdraw some funds and then send that “ownerless” vault resource into another method. That method will then transfer the funds into another vault.

thanks for the clarification.