<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def GetTokenBalance(self, token, watch_only=0):
 """ Get the balance of the specified token. Args: token (NEP5Token):
 an instance of type neo.Wallets.NEP5Token to get the balance from. watch_only (bool):
 True, to limit to watch only wallets. Returns: Decimal: total balance for `token`. """

        total = Decimal(0)

        if watch_only > 0:
            for addr in self._watch_only:
                balance = token.GetBalance(self, addr)
                total += balance
        else:
            for contract in self._contracts.values():
                balance = token.GetBalance(self, contract.Address)
                total += balance
        return total