def dry_up row
      return row unless @previous_row
      row.clone.tap do |result|
        row.length.times do |i|
          if can_dry?(@headers[i]) && row[i] == @previous_row[i]
            result[i] = ''
          else
            break
          end
        end
      end
    end
def dry_up row
      return row unless @previous_row
      row.clone.tap do |result|
        row.length.times do |i|
          if can_dry?(@headers[i]) && row[i] == @previous_row[i]
            result[i] = ''
          else
            break
          end
        end
      end
    end
Returns a dried up version of the given row
 based on the row that came before in the table

 In a dried up row, any values that match the previous row are removed,
 stopping on the first difference