# File lib/new_relic/agent/transaction_state.rb, line 45
      def reset(transaction=nil)
        # We purposefully don't reset @untraced, @record_tt and @record_sql
        # since those are managed by NewRelic::Agent.disable_* calls explicitly
        # and (more importantly) outside the scope of a transaction

        @timings = nil
        @request = nil
        @current_transaction = transaction

        @traced_method_stack.clear

        @is_cross_app_caller = false
        @client_cross_app_id = nil
        @referring_transaction_info = nil

        @transaction_sample_builder = nil
        @sql_sampler_transaction_data = nil

        @busy_entries = 0
      end