def _update_joinpoint(self, jp):
    self._joinpoint = jp
    while ('prev' in jp):
        (f, prev) = jp['prev']
        prev = prev.copy()
        prev[f] = jp
        jp['prev'] = (f, prev)
        jp = prev
    self._joinpath = jp
def _update_joinpoint(self, jp):
    self._joinpoint = jp
    while ('prev' in jp):
        (f, prev) = jp['prev']
        prev = prev.copy()
        prev[f] = jp
        jp['prev'] = (f, prev)
        jp = prev
    self._joinpath = jp