code: def subscribed(self, build_root, handlers):
      
      command_list = [['subscribe',
                       build_root,
                       handler.name,
                       handler.metadata] for handler in handlers]
  
      self._logger.debug('watchman command_list is: {}'.format(command_list))
  
      try:
        for event in self.client.stream_query(command_list):
          if event is None:
            yield None, None
          elif 'subscribe' in event:
            self._logger.info('confirmed watchman subscription: {}'.format(event))
            yield None, None
          elif 'subscription' in event:
            yield event.get('subscription'), event
          else:
            self._logger.warning('encountered non-subscription event: {}'.format(event))
      except self.client.WatchmanError as e:
        raise self.WatchmanCrash(e)
docs: Bulk subscribe generator for StreamableWatchmanClient.
  
      :param str build_root: the build_root for all subscriptions.
      :param iterable handlers: a sequence of Watchman.EventHandler namedtuple objects.
      :yields: a stream of tuples in the form (subscription_name: str, subscription_event: dict).