def remove(self, values):
        """
        Remove DNS entries from this ranked DNS list. A DNS entry can be either
        a raw IP Address, or an element of type :class:`smc.elements.network.Host`
        or :class:`smc.elements.servers.DNSServer`.
        
        :param list values: list of IP addresses, Host and/or DNSServer elements.
        :return: None
        """
        removables = []
        for value in values:
            if value in self:
                removables.append(value)
        
        if removables:
            self.entries[:] = [entry._asdict() for entry in self
                if entry.value not in removables and not entry.element in removables]
            # Rerank to maintain order
            for i, entry in enumerate(self.entries):
                entry.update(rank='{}'.format(i))