code: def _collect_colored_outputs(unspent_outputs, asset_id, asset_quantity):
          
          total_amount = 0
          result = []
          for output in unspent_outputs:
              if output.output.asset_id == asset_id:
                  result.append(output)
                  total_amount += output.output.asset_quantity
  
              if total_amount >= asset_quantity:
                  return result, total_amount
  
          raise InsufficientAssetQuantityError
docs: Returns a list of colored outputs for the specified quantity.
  
          :param list[SpendableOutput] unspent_outputs: The list of available outputs.
          :param bytes asset_id: The ID of the asset to collect.
          :param int asset_quantity: The asset quantity to collect.
          :return: A list of outputs, and the total asset quantity collected.
          :rtype: (list[SpendableOutput], int)