/** * Update an address list * * Proxied to this from addFrom, addTo, addCc, addBcc, and addReplyTo. * * @param AddressList $addressList * @param string|Address\AddressInterface|array|AddressList|Traversable $emailOrAddressOrList * @param null|string $name * @param string $callingMethod * @throws Exception\InvalidArgumentException */ protected function updateAddressList(AddressList $addressList, $emailOrAddressOrList, $name, $callingMethod) { if ($emailOrAddressOrList instanceof Traversable) { foreach ($emailOrAddressOrList as $address) { $addressList->add($address); } return; } if (is_array($emailOrAddressOrList)) { $addressList->addMany($emailOrAddressOrList); return; } if (!is_string($emailOrAddressOrList) && !$emailOrAddressOrList instanceof Address\AddressInterface) { throw new Exception\InvalidArgumentException(sprintf('%s expects a string, AddressInterface, array, AddressList, or Traversable as its first argument; received "%s"', $callingMethod, is_object($emailOrAddressOrList) ? get_class($emailOrAddressOrList) : gettype($emailOrAddressOrList))); } $addressList->add($emailOrAddressOrList, $name); }