Currently if there are multiple primary addresses then
an exception is throw and a new ClientAddress is
created, making the situation worse.
The query could be changed to bring back a list of
primary addresses and then select the first.
Eventually the complete solution should provide some
means to toggle active/ inactive addresses, maybe a
Whatever change is decided on should be replicated to
the staff object.