code: def custom_resolve(self):
          
          if not callable(self.custom_resolver):
              return
          new_addresses = []
          for address in self.addresses:
              for new_address in self.custom_resolver(address):
                  new_addresses.append(new_address)
          self.addresses = new_addresses
docs: If a custom resolver is defined, perform custom resolution on
          the contained addresses.
  
          :return: