code: public RecordWriter<K,VariantContextWritable> getRecordWriter(
  			TaskAttemptContext ctx, Path out)
  		throws IOException
  	{
  		if (this.header == null)
  			throw new IOException(
  				"Can't create a RecordWriter without the VCF header");
  
  		final boolean wh = ctx.getConfiguration().getBoolean(
  			WRITE_HEADER_PROPERTY, true);
  
  		switch (format) {
  			case BCF: return new KeyIgnoringBCFRecordWriter<K>(out,header,wh,ctx);
  			case VCF: return new KeyIgnoringVCFRecordWriter<K>(out,header,wh,ctx);
  			default: assert false; return null;
  		}
  	}
docs: Allows wrappers to provide their own work file.