code: def add(self, recipients):
          
  
          if recipients:
              if isinstance(recipients, str):
                  self._recipients.append(
                      Recipient(address=recipients, parent=self._parent,
                                field=self._field))
              elif isinstance(recipients, Recipient):
                  self._recipients.append(recipients)
              elif isinstance(recipients, tuple):
                  name, address = recipients
                  if address:
                      self._recipients.append(
                          Recipient(address=address, name=name,
                                    parent=self._parent, field=self._field))
              elif isinstance(recipients, list):
                  for recipient in recipients:
                      self.add(recipient)
              else:
                  raise ValueError('Recipients must be an address string, a '
                                   'Recipient instance, a (name, address) '
                                   'tuple or a list')
              self._track_changes()
docs: Add the supplied recipients to the exiting list
  
          :param recipients: list of either address strings or
           tuples (name, address) or dictionary elements
          :type recipients: list[str] or list[tuple] or list[dict]