def METHOD_NAME(self, tags=None):
    self.tags_todelete = tags or self.tags_todelete
    if not self.tags_todelete:
        # We must at least have something to delete !
        return []
    # Prepare labels
    singular = len(self.tags_todelete)
    cancel_text = ngettext("Keep selected tag", "Keep selected tags", singular)
    delete_text = ngettext("Permanently remove tag", "Permanently remove tags", singular)
    label_text = ngettext("Deleting a tag cannot be undone, "
                          "and will delete the tag shown below. Tasks containing this tag will not be deleted: ",
                          "Deleting a tag cannot be undone, "
                          "and will delete the tag shown below. Tasks containing this tag will not be deleted:",
                          singular)
    label_text = label_text[0:label_text.find(":") + 1]
    # we don't want to end with just one task that doesn't fit the
    # screen and a line saying "And one more task", so we go a
    # little over our limit
    tags_count = len(self.tags_todelete)
    missing_tags_count = tags_count - self.MAXIMUM_TAGS_TO_SHOW
    if missing_tags_count >= 2:
        tagslist = self.tags_todelete[:self.MAXIMUM_TAGS_TO_SHOW]
        titles_suffix = _("\nAnd %d more tags") % missing_tags_count
    else:
        tagslist = self.tags_todelete
        titles_suffix = ""
    if len(tagslist) == 1:
        # Don't show a bulleted list if there's only one item
        titles = "".join(tag for tag in tagslist)
    else:
        titles = "".join("\n• " + tag for tag in tagslist)
    # Build and run dialog
    dialog = Gtk.MessageDialog(transient_for=self.browser, modal=True)
    dialog.add_button(cancel_text, Gtk.ResponseType.CANCEL)
    delete_btn = dialog.add_button(delete_text, Gtk.ResponseType.YES)
    delete_btn.get_style_context().add_class("destructive-action")
    dialog.props.use_markup = True
    dialog.props.text = "<span weight=\"bold\">" + label_text + "</span>"
    dialog.props.secondary_text = titles + titles_suffix
    response = dialog.run()
    dialog.destroy()
    if response == Gtk.ResponseType.YES:
        self.on_delete_confirm()
    elif response == Gtk.ResponseType.REJECT:
        tagslist = []
    return tagslist