<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _collect_colored_outputs(unspent_outputs, asset_id, asset_quantity):
 """ 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) """

        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