def METHOD_NAME(self):
    # Initialise empty list of bug numbers
    collected_bugs = []
    # Search BTS for bugs owned by email address
    if self.config.email:
        owned_bugs = debianbts.get_bugs(owner=self.config.email,
                                        status="open")
        collected_bugs.extend(owned_bugs)
    # Search BTS for bugs related to specified packages
    for pkg in self.config.packages:
        pkg_bugs = debianbts.get_bugs(package=pkg, status="open")
        for bug in pkg_bugs:
            if bug not in collected_bugs:
                collected_bugs.append(bug)
    # Search UDD bugs search for bugs belonging to packages that
    # are maintained by the email address
    if self.config.udd:
        udd_bugs = self._get_udd_bugs()
        for bug in udd_bugs:
            if bug not in collected_bugs:
                collected_bugs.append(bug['id'])
    METHOD_NAME = [self._record_for_bug(bug)
              for bug in debianbts.get_status(collected_bugs)]
    log.debug(" Found %i total.", len(METHOD_NAME))
    for pkg in self.config.ignore_pkg:
        METHOD_NAME = [issue for issue in METHOD_NAME if not issue['package'] == pkg]
    for src in self.config.ignore_src:
        METHOD_NAME = [issue for issue in METHOD_NAME if not issue['source'] == src]
    if self.config.ignore_pending:
        METHOD_NAME = [issue
                  for issue in METHOD_NAME
                  if not issue['status'] == 'pending-fixed']
    METHOD_NAME = [issue
              for issue in METHOD_NAME
              if not (issue['status'] == 'done' or
                      issue['status'] == 'fixed')]
    log.debug(" Pruned down to %i.", len(METHOD_NAME))
    for issue in METHOD_NAME:
        issue_obj = self.get_issue_for_record(issue)
        extra = {
            'annotations': self.annotations(issue, issue_obj)
        }
        issue_obj.update_extra(extra)
        yield issue_obj