# File lib/fog/rackspace/storage.rb, line 258
          def each_part
            case
            when dynamic_manifest?
              # Concatenate the contents and sizes of each matching object.
              # Note that cname and oprefix are already escaped.
              cname, oprefix = large_object_prefix.split('/', 2)

              target_container = service.data[cname]
              if target_container
                all = target_container.objects.keys
                matching = all.select { |name| name.start_with? oprefix }
                keys = matching.sort

                keys.each do |name|
                  yield target_container.objects[name]
                end
              else
                Fog::Logger.warning "Invalid container in dynamic object manifest: #{cname}"
                yield self
              end
            when static_manifest?
              Fog::JSON.decode(body).each do |segment|
                cname, oname = segment['path'].split('/', 2)

                cont = service.mock_container cname
                unless cont
                  Fog::Logger.warning "Invalid container in static object manifest: #{cname}"
                  next
                end

                obj = cont.mock_object oname
                unless obj
                  Fog::Logger.warning "Invalid object in static object manifest: #{oname}"
                  next
                end

                yield obj
              end
            else
              yield self
            end
          end