'Construct and return a new :class:`.LinkItem`'

def new_link_item(self, source_item, source_channel, sink_item, sink_channel):

    item = items.LinkItem()
    item.setSourceItem(source_item)
    item.setSinkItem(sink_item)
    def channel_name(channel):
        if isinstance(channel, str):
            return channel
        else:
            return channel.name
    source_name = channel_name(source_channel)
    sink_name = channel_name(sink_channel)
    fmt = '<b>{0}</b>&nbsp;    \\u2192    &nbsp;<b>{1}</b>'
    item.setToolTip(fmt.format(escape(source_name), escape(sink_name)))
    item.setSourceName(source_name)
    item.setSinkName(sink_name)
    item.setChannelNamesVisible(self.__channel_names_visible)
    return item
