Returns the edge connection the given nodes if such an edge exists.

        Arguments:
            source (Node): One of the endpoints of the queried edge.
            target (Node): The other endpoint of the queried edge.

        Returns:
            Returns the edge connection the given nodes
            or `None` if no such node exists.

def get_edge(self, source: Node, target: Node) -> Optional[Edge]:
        """
        Returns the edge connection the given nodes if such an edge exists.

        Arguments:
            source (Node): One of the endpoints of the queried edge.
            target (Node): The other endpoint of the queried edge.

        Returns:
            Returns the edge connection the given nodes
            or `None` if no such node exists.
        """
        return self.get_edge_by_index(source.index, target.index)