def __rshift__(self, other: Union['TaskNode', Task, 'TaskChain', 'DecisionFunc', 'DecisionLLM']) -> 'TaskChain':
        """
        Implements the >> operator to chain this decision with another node.
        Both the true and false branches will converge to the specified node.
        
        Args:
            other: The node, task, or chain to connect after both branches
            
        Returns:
            A TaskChain containing the decision and its branches
        """
        chain = TaskChain()
        chain.nodes.append(self)
        
        # Add the next node/chain
        if isinstance(other, Task):
            other_node = TaskNode(task=other)
            chain.nodes.append(other_node)
        elif isinstance(other, TaskNode):
            chain.nodes.append(other)
        elif isinstance(other, TaskChain):
            chain.nodes.extend(other.nodes)
        elif isinstance(other, (DecisionFunc, DecisionLLM)):
            chain.nodes.append(other)
            
        return chain

        Implements the >> operator to chain this decision with another node.
        Both the true and false branches will converge to the specified node.
        
        Args:
            other: The node, task, or chain to connect after both branches
            
        Returns:
            A TaskChain containing the decision and its branches
        
src/upsonic/client/graph.py