async def METHOD_NAME(self, wallet: 'Abstract_Wallet', force: bool):
    wallet_data = self.wallets.get(wallet, None)
    if not wallet_data:
        raise Exception('Wallet {} not loaded'.format(wallet))
    wallet_id = wallet_data[2]
    nonce = 1 if force else self.get_nonce(wallet) - 1
    self.logger.info(f"asking for labels since nonce {nonce}")
    try:
        response = await self.do_get("/labels/since/%d/for/%s" % (nonce, wallet_id))
    except Exception as e:
        raise ErrorConnectingServer(e) from e
    if response["labels"] is None or len(response["labels"]) == 0:
        self.logger.info('no new labels')
        return
    #self.logger.debug(f"labels received {response!r}")
    self.logger.info(f'received {len(response["labels"])} labels')
    result = {}
    for label in response["labels"]:
        try:
            key = self.decode(wallet, label["externalId"])
            value = self.decode(wallet, label["encryptedLabel"])
        except Exception:
            continue
        try:
            json.dumps(key)
            json.dumps(value)
        except Exception:
            self.logger.info(f'error: no json {key}')
            continue
        if value:
            result[key] = value
    for key, value in result.items():
        if force or not wallet._get_label(key):
            wallet._set_label(key, value)
    self.set_nonce(wallet, response["nonce"] + 1)
    self.on_pulled(wallet)