'Retrieves and formats a list of elements of the requested entity.'

def _items(self, request, do_authz=False, parent_id=None):

    (original_fields, fields_to_add) = self._do_field_list(api_common.list_args(request, 'fields'))
    filters = api_common.get_filters(request, self._attr_info, ['fields', 'sort_key', 'sort_dir', 'limit', 'marker', 'page_reverse'])
    kwargs = {'filters': filters, 'fields': original_fields}
    sorting_helper = self._get_sorting_helper(request)
    pagination_helper = self._get_pagination_helper(request)
    sorting_helper.update_args(kwargs)
    sorting_helper.update_fields(original_fields, fields_to_add)
    pagination_helper.update_args(kwargs)
    pagination_helper.update_fields(original_fields, fields_to_add)
    if parent_id:
        kwargs[self._parent_id_name] = parent_id
    obj_getter = getattr(self._plugin, self._plugin_handlers[self.LIST])
    obj_list = obj_getter(request.context, **kwargs)
    obj_list = sorting_helper.sort(obj_list)
    obj_list = pagination_helper.paginate(obj_list)
    if do_authz:
        obj_list = [obj for obj in obj_list if policy.check(request.context, self._plugin_handlers[self.SHOW], obj, plugin=self._plugin, pluralized=self._collection)]
    fields_to_strip = (fields_to_add or [])
    if obj_list:
        fields_to_strip += self._exclude_attributes_by_policy(request.context, obj_list[0])
    collection = {self._collection: [self._filter_attributes(obj, fields_to_strip=fields_to_strip) for obj in obj_list]}
    pagination_links = pagination_helper.get_links(obj_list)
    if pagination_links:
        collection[(self._collection + '_links')] = pagination_links
    resource_registry.resync_resource(request.context, self._resource, request.context.tenant_id)
    return collection
