code: def _add_new(self, host_object):
          
          i = self._get_insertion_point(host_object)
  
          for listed in self[i:]:
              if not listed.is_subdomain(host_object):
                  break
              self.hosts.pop(i)
  
          self.hosts.insert(i, host_object.to_unicode())
docs: Add a new host to the collection.
  
          Before a new hostname can be added, all its subdomains already
          present in the collection must be removed. Since the collection
          is sorted, we can limit our search for them to a slice of
          the collection starting from insertion point and ending with
          the last detected subdomain.
  
          :param host_obj: an object representing value to be added.
          It is assumed that, during execution of this method,
          the value to be added is not currently listed.