class CsvReader extends FileReader implements DataReader<CsvReadOptions> {

  protected ColumnType[] detectColumnTypes(Reader reader, CsvReadOptions options) {
    boolean header = options.header();
    int linesToSkip = header ? 1 : 0;

    CsvParser parser = csvParser(options);

    try {
      return getColumnTypes(reader, options, linesToSkip, parser);
    } finally {
      parser.stopParsing();
      // we don't close the reader since we didn't create it
    }
  }

  public  CsvReader();

}