def METHOD_NAME(_txid, prefix, is_last, is_uncle):
    if _txid not in parents:
        return
    tx_mined_info = self.wallet.adb.get_tx_height(_txid)
    tx_height = tx_mined_info.height
    tx_pos = tx_mined_info.txpos
    key = "%dx%d"%(tx_height, tx_pos) if tx_pos is not None else _txid[0:8]
    label = self.wallet.get_label_for_txid(_txid) or ""
    if _txid not in parents_copy:
        label = '[duplicate]'
    c = '' if _txid == txid else (ASCII_EDGE if is_last else ASCII_BRANCH)
    cursor.insertText(prefix + c, ext)
    if is_uncle:
        self.num_reuse += 1
        lnk = QTextCharFormat(self.txo_color_uncle.text_char_format)
    else:
        lnk = QTextCharFormat(self.txo_color_parent.text_char_format)
    lnk.setToolTip(_('Click to open, right-click for menu'))
    lnk.setAnchorHref(_txid)
    #lnk.setAnchorNames([a_name])
    lnk.setAnchor(True)
    lnk.setUnderlineStyle(QTextCharFormat.SingleUnderline)
    cursor.insertText(key, lnk)
    cursor.insertText(" ", ext)
    cursor.insertText(label, ext)
    cursor.insertBlock()
    next_prefix = '' if txid == _txid else prefix + (ASCII_SPACE if is_last else ASCII_PIPE)
    parents_list, uncle_list = parents_copy.pop(_txid, ([],[]))
    for i, p in enumerate(parents_list + uncle_list):
        is_last = (i == len(parents_list) + len(uncle_list)- 1)
        is_uncle = (i > len(parents_list) - 1)
        METHOD_NAME(p, next_prefix, is_last, is_uncle)