    # File lib/chef/provider.rb, line 61
        def recipe_eval(&block)
          # This block has new resource definitions within it, which
          # essentially makes it an in-line Chef run. Save our current
          # run_context and create one anew, so the new Chef run only
          # executes the embedded resources.
          #
          # TODO: timh,cw: 2010-5-14: This means that the resources within
          # this block cannot interact with resources outside, e.g.,
          # manipulating notifies.
          saved_run_context = @run_context
          @run_context = @run_context.dup
          @run_context.resource_collection = Chef::ResourceCollection.new
          instance_eval(&block)
          Chef::Runner.new(@run_context).converge

          @run_context = saved_run_context
        end