new (FasterCSV)

    # File lib/faster_csv.rb, line 1398
      def initialize(data, options = Hash.new)
        # build the options for this read/write
        options = DEFAULT_OPTIONS.merge(options)

        # create the IO object we will read from
        @io = if data.is_a? String then StringIO.new(data) else data end

        init_separators(options)
        init_parsers(options)
        init_converters(options)
        init_headers(options)

        unless options.empty?
          raise ArgumentError, "Unknown options:  #{options.keys.join(', ')}."
        end

        # track our own lineno since IO gets confused about line-ends is CSV fields
        @lineno = 0
      end