docs: @Override
  	public void open(FileInputSplit split) throws IOException {
  		super.open(split);
  
  		// instantiate the parsers
  		FieldParser<?>[] parsers = new FieldParser<?>[fieldTypes.length];
  		
  		for (int i = 0; i < fieldTypes.length; i++) {
  			if (fieldTypes[i] != null) {
  				Class<? extends FieldParser<?>> parserType = FieldParser.getParserForType(fieldTypes[i]);
  				if (parserType == null) {
  					throw new RuntimeException("No parser available for type '" + fieldTypes[i].getName() + "'.");
  				}
  
  				FieldParser<?> p = InstantiationUtil.instantiate(parserType, FieldParser.class);
  
  				p.setCharset(getCharset());
  				if (this.quotedStringParsing) {
  					if (p instanceof StringParser) {
  						((StringParser)p).enableQuotedStringParsing(this.quoteCharacter);
  					} else if (p instanceof StringValueParser) {
  						((StringValueParser)p).enableQuotedStringParsing(this.quoteCharacter);
  					}
  				}
  
  				parsers[i] = p;
  			}
  		}
  		this.fieldParsers = parsers;
  		
  		// skip the first line, if we are at the beginning of a file and have the option set
  		if (this.skipFirstLineAsHeader && this.splitStart == 0) {
  			readLine(); // read and ignore
  		}
  	}