def _find_longest_internal_edge(self, node):
        '''return the node that has the longest branch length between the given
        node and the root
        
        Parameters
        ----------
        node: dendropy.Tree
            a node from the tree
            
        Returns
        -------
        The node that has the largest length between the node and the root_node
        '''
        max_length = -1
        max_edge = None
        while node and not node.edge.rootedge:
            if node.edge.length > max_length:
                max_edge = node.edge
                max_length = max_edge.length
            node = node.parent_node
        return max_edge
return the node that has the longest branch length between the given
        node and the root
        
        Parameters
        ----------
        node: dendropy.Tree
            a node from the tree
            
        Returns
        -------
        The node that has the largest length between the node and the root_node