def preprocess
      if group_by?
        parse_file { |row| @preprocessed_csv << csv_to_hash_with_duplicates(row) }
        @preprocessed_csv = @preprocessed_csv.group_by { |row| row[key_column] }
      end
    end
def preprocess
      if group_by?
        parse_file { |row| @preprocessed_csv << csv_to_hash_with_duplicates(row) }
        @preprocessed_csv = @preprocessed_csv.group_by { |row| row[key_column] }
      end
    end
note that group_by requires the entire file to be
 read into memory