code: def merge_resources(resource_list):
      
      if not resource_list:
          raise ValueError
      rtype = None
      for rr in resource_list:
          if rr.type:
              rtype = rr.type
              break
      labels = {}
      for rr in reversed(resource_list):
          labels.update(rr.labels)
      return Resource(rtype, labels)
docs: Merge multiple resources to get a new resource.
  
      Resources earlier in the list take precedence: if multiple resources share
      a label key, use the value from the first resource in the list with that
      key. The combined resource's type will be the first non-null type in the
      list.
  
      :type resource_list: list(:class:`Resource`)
      :param resource_list: The list of resources to combine.
  
      :rtype: :class:`Resource`
      :return: The new combined resource.