For this particular case it seemed null-object pattern would be more complicated to handle (it would still need special logic to deal with detecting missing/surplus). I simplified it here by ensuring related methods are null-safe and just let plain null flow around.