# File lib/hpricot/elements.rb, line 159
    def wrap(str)
      each do |x|
        wrap = Hpricot.make(str)
        nest = wrap.detect { |w| w.respond_to? :children }
        unless nest
          raise Exception, "No wrapping element found."
        end
        x.parent.replace_child(x, wrap)
        nest = nest.children.first until nest.empty?
        nest.children << x
      end
    end