<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def FindUnspentCoinsByAsset(self, asset_id, from_addr=None, use_standard=False, watch_only_val=0):
 """ Finds unspent coin objects in the wallet limited to those of a certain asset type. Args: asset_id (UInt256):
 a bytearray (len 32) representing an asset on the blockchain. from_addr (UInt160):
 a bytearray (len 20) representing an address. use_standard (bool):
 whether or not to only include standard contracts ( i.e not a smart contract addr ). watch_only_val (int):
 a flag ( 0 or 64 ) indicating whether or not to find coins that are in 'watch only' addresses. Returns: list: a list of ``neo.Wallet.Coin`` in the wallet that are not spent """

        coins = self.FindUnspentCoins(from_addr=from_addr, use_standard=use_standard, watch_only_val=watch_only_val)

        return [coin for coin in coins if coin.Output.AssetId == asset_id]