def merge(lines, coverage, counts)
      coverage.each_with_index do |v, idx|
        case @coverage[idx]
        when :inferred 
          @coverage[idx] = v || @coverage[idx]
        when false 
          @coverage[idx] ||= v
        end
      end
      counts.each_with_index{|v, idx| @counts[idx] += v }
      precompute_coverage false
    end
def merge(lines, coverage, counts)
      coverage.each_with_index do |v, idx|
        case @coverage[idx]
        when :inferred 
          @coverage[idx] = v || @coverage[idx]
        when false 
          @coverage[idx] ||= v
        end
      end
      counts.each_with_index{|v, idx| @counts[idx] += v }
      precompute_coverage false
    end
Merge code coverage and execution count information.
 As for code coverage, a line will be considered
 * covered for sure (true) if it is covered in either +self+ or in the
   +coverage+ array
 * considered <tt>:inferred</tt> if the neither +self+ nor the +coverage+ array
   indicate that it was definitely executed, but it was <tt>inferred</tt>
   in either one
 * not covered (<tt>false</tt>) if it was uncovered in both

 Execution counts are just summated on a per-line basis.