@staticmethod
def _identify_eds_ing(first, second):
    """Find nodes connecting adjacent edges.

        Args:
            first (Edge):
                Edge object representing the first edge.
            second (Edge):
                Edge object representing the second edge.

        Returns:
            tuple[int, int, set[int]]:
                The first two values represent left and right node
                indicies of the new edge. The third value is the new dependence set.
        """
    A = set([first.L, first.R])
    A.update(first.D)
    B = set([second.L, second.R])
    B.update(second.D)
    depend_set = A & B
    left, right = sorted(list(A ^ B))
    return left, right, depend_set
