def METHOD_NAME(self, e):
    """
    remove edge e possibly spawning two new cores if the graph_core that contained e gets disconnected.
    """
    # get the GraphBase:
    c = e.v[0].component
    assert c == e.v[1].component
    if c not in self.components:
        return None
    # remove edge in GraphBase and replace it with two new cores
    # if removing edge disconnects the GraphBase:
    try:
        e = c.METHOD_NAME(e)
    except ValueError:
        e = c.edgesPoset.remove(e)
        e.detach()
        self.components.remove(c)
        tmpg = type(self)(c.verticesPoset, c.edgesPoset, self.directed)
        assert len(tmpg.components) == 2
        self.components.extend(tmpg.components)
    return e