code: public static <T, K extends Enum<K>> CSVParserBuilder<T, K> aParser(Function<CSVRecord, T> mapper) {
          CSVParserBuilder<T, K> builder = new CSVParserBuilder<T, K>();
          builder.recordMapper = mapper;
          return builder;
      }
docs: Create new parser using supplied mapping function.
  
  Mapping function can not store reference to {@link CSVRecord} object,
  it needs to be a pure function that creates new instance of T.
  CSVRecord could be mutated by the parser when next field or record are processed.
  
  @param mapper - mapping function from CSVRecord to T
  @param <T> - type of object that each record of the CSV data will be mapped to
  @param <K> - ignored
  @return this parser builder