docs: def add(self, address, topics=None):
          """Add *address* to the subscribing list for *topics*.
  
          It topics is None we will subscibe to already specified topics.
          """
          with self._lock:
              if address in self.addresses:
                  return False
  
              topics = self._magickfy_topics(topics) or self._topics
              LOGGER.info("Subscriber adding address %s with topics %s",
                          str(address), str(topics))
              subscriber = get_context().socket(SUB)
              for t__ in topics:
                  subscriber.setsockopt_string(SUBSCRIBE, six.text_type(t__))
              subscriber.connect(address)
              self.sub_addr[subscriber] = address
              self.addr_sub[address] = subscriber
              if self.poller:
                  self.poller.register(subscriber, POLLIN)
              return True