def _fanout_add_edge(self, edge, node, cloned_node):
        cloned_tool = cloned_node._tool
        if edge._source == node:
            # Outgoing edge
            new_edge = self.add_edge(cloned_node, edge._target)
            new_edge._group = edge._group
            for link in edge._links:
                link = new_edge.add_link(
                    cloned_tool.options[link[0].name],
                    link[1]
                )
                link[1]._value.append(cloned_tool.options[link[0].name])
                log.debug("Fanout | add link to edge: %s [%s]",
                          new_edge, link)
        elif edge._target == node:
            # Incoming edge
            new_edge = self.add_edge(edge._source, cloned_node)
            new_edge._group = edge._group
            for link in edge._links:
                link = new_edge.add_link(
                    link[0],
                    cloned_tool.options[link[1].name]
                )
                log.debug("Fanout | add link to edge: %s [%s]",
                          link, new_edge)
Re-add edges to a cloned node.
dataset/ETHPy150Open thasso/pyjip/jip/pipelines.py/Pipeline._fanout_add_edge