# File lib/rcov/differential_analyzer.rb, line 39
    def remove_hook
      @@mutex.synchronize do 
        self.class.hook_level -= 1
        Rcov::RCOV__.send(@remove_hook_meth) if self.class.hook_level == 0
      end
      @end_raw_data = raw_data_absolute
      @cache_state = :done
      # force computation of the stats for the traced code in this run;
      # we cannot simply let it be if self.class.hook_level == 0 because 
      # some other analyzer could install a hook, causing the raw_data_absolute
      # to change again.
      # TODO: lazy computation of raw_data_relative, only when the hook gets
      # activated again.
      raw_data_relative
    end