If a person is voided, then all of their names, addresses, etc are voided. Thus calling getPersonName() or getPersonAddress() on a voided person returns null.
And as a result Provider.getName() returns null if the provider points to a voided person.
I propose that we add a special-case to the getPersonName() and getPersonAddress() convenience methods so that if the person is voided, we don't exclude voided names/addresses as candidates for being returned.
(This caused a bug in production in Mirebalais, since we were not expecting Provider.getName() to ever return null. We have added a workaround in our code, so this is not pressing.)