def split(self, amount):
        """Split the value given by amount according to the RecurringCostSplit's portions

        Args:
            amount (Decimal):

        Returns:
            list[(RecurringCostSplit, Decimal)]: A list with elements in the form (RecurringCostSplit, Decimal)
        """
        split_objs = list(self.all())
        if not split_objs:
            raise NoSplitsFoundForRecurringCost()

        portions = [split_obj.portion for split_obj in split_objs]

        split_amounts = ratio_split(amount, portions)
        return [
            (split_objs[i], split_amount)
            for i, split_amount
            in enumerate(split_amounts)
        ]
Split the value given by amount according to the RecurringCostSplit's portions

        Args:
            amount (Decimal):

        Returns:
            list[(RecurringCostSplit, Decimal)]: A list with elements in the form (RecurringCostSplit, Decimal)