@classmethod
def _stripe_object_to_subscription_items(cls, target_cls, data, subscription):
    """
        Retrieves SubscriptionItems for a subscription.

        If the subscription item doesn't exist already then it is created.

        :param target_cls: The target class to instantiate per invoice item.
        :type target_cls: Type[djstripe.models.SubscriptionItem]
        :param data: The data dictionary received from the Stripe API.
        :type data: dict
        :param subscription: The subscription object that should hold the items.
        :type subscription: djstripe.models.Subscription
        """
    items = data.get('items')
    if not items:
        return []
    subscriptionitems = []
    for item_data in items.auto_paging_iter():
        item, _ = target_cls._get_or_create_from_stripe_object(item_data,
            refetch=False)
        subscriptionitems.append(item)
    return subscriptionitems
