def METHOD_NAME(self):
    """
    Note that by being lazy, we can potentially miss some tweets, e.g. those which become "live" and then
    the condition is no longer met by the time we get to it here
    Returns
    -------
    """
    # if we don't have any conditions to check then we're already done.
    if len(self.live_conditions) == 0 and len(self.dorment_conditions) == 0:
        return
    print('n live: %d' % len(self.live_conditions))
    tasks, task_counts = self.actions
    # check if any of our conditions are "live"  # todo - prone to size changed during iteration?
    for ci, cond in enumerate(self.dorment_conditions):
        if cond['action_filter'] == '':
            pop = self._check_live(task_counts.sum(), cond['queue_condition'], cond['queue_above'])
        elif cond['action_filter'] not in tasks:
            pop =  self._check_live(0, cond['queue_condition'], cond['queue_above'])
        else:
            pop = self._check_live(self._get_count(cond['action_filter'], tasks, task_counts),
                                   cond['queue_condition'], cond['queue_above'])
        # shift task if it is now live
        if pop:
            print('queuing task!')
            print(self.actions)
            self.live_conditions.append(self.dorment_conditions.pop(ci))
    # check that none of our conditions have been met
    to_pop = []
    for ci, cond in enumerate(self.live_conditions):  # todo - prone to size changed during iteration?
        diff = self._get_count(cond['action_filter']) - cond['trigger_counts']
        if diff > 0 and cond['trigger_above'] > 0:
            to_pop.append(ci)
            self.scope_tweet(cond['message'])
        elif diff == 0 and cond['trigger_above'] == 0:
            to_pop.append(ci)
            self.scope_tweet(cond['message'])
        elif diff < 0 and cond['trigger_above'] < 0:
            to_pop.append(ci)
            self.scope_tweet(cond['message'])
    for ci in to_pop:
        self.live_conditions.pop(ci)