# File lib_wpm/wpm.rb, line 3860
    def transaction(driver)
      begin
        Thread.current[:_wpm_context_] = {
          :driver => driver,
          :ns_map => nil,
          :page_context => Hash.new,
          :call_index => Hash.new,
          :curr_widget => nil,
          :last_error_page => nil,
          :last_error_widget => nil,
          :last_error_info => nil
        }
        return yield
      ensure
        Thread.current[:_wpm_context_] = nil unless @reserve_last_cache
      end
    end