def METHOD_NAME(self, src=None, target=None, filter_serials=None):
    """
    support the migration of owned tokens from one resolver to a new one
    the idea is:
    - get all tokens from one resolver
    - for each token, the the owner
    - from the owner get the login name
    - with the login name get the uid from the target resolver
    - update the new_id in the token
    """
    ret = {}
    if not src or not target:
        raise Exception("Missing src or target resolver defintion!")
    now = datetime.now()
    stime = now.strftime("%s")
    g.audit["action_detail"] = "migration from %s to %s" % (
        src["resolvername"],
        target["resolvername"],
    )
    ret["src"] = src
    ret["target"] = target
    ret["value"] = False
    ret["message"] = ""
    search = getResolverClassName(src["type"], src["resolvername"])
    target_resolver = getResolverClassName(
        target["type"], target["resolvername"]
    )
    # get all tokens of src resolver
    tokens = self._get_tokens_for_resolver(search, serials=filter_serials)
    num_migration = 0
    serials = set()
    for token in tokens:
        serial = token.get("LinOtpTokenSerialnumber")
        userid = token.get("LinOtpUserid")
        resolverC = token.get("LinOtpIdResClass")
        # now do the lookup of the uid in the
        # src resolver to get the login
        uInfo = getUserInfo(userid, "", resolverC)
        login = uInfo.get("username")
        try:
            y = getResolverObject(target_resolver)
            uid = y.getUserId(login)
            if not uid:
                log.warning(
                    "User %s not found in target resolver %r",
                    login,
                    target_resolver,
                )
                continue
            token.LinOtpIdResClass = target_resolver
            token.LinOtpUserid = uid
            # TODO: adjust
            token.LinOtpIdResolver = target["type"]
            db.session.add(token)
            num_migration += 1
            serials.add(serial)
        except Exception as exx:
            log.error(
                "Faild to set new resolver data for token %s: %r",
                serial,
                exx,
            )
    ret["value"] = True
    ret["message"] = _("%d tokens of %d migrated") % (
        num_migration,
        len(tokens),
    )
    g.audit["info"] = "[%s] %s" % (stime, ret["message"])
    g.audit["serial"] = ",".join(list(serials))
    g.audit["success"] = True
    return ret