code: @Override public RecordWriter<K,VariantContextWritable> getRecordWriter(
  			TaskAttemptContext ctx)
  		throws IOException
  	{
  		Configuration conf = ctx.getConfiguration();
  		boolean isCompressed = getCompressOutput(ctx);
  		CompressionCodec codec = null;
  		String extension = "";
  		if (isCompressed) {
  			Class<? extends CompressionCodec> codecClass =
  					getOutputCompressorClass(ctx, BGZFCodec.class);
  			codec = ReflectionUtils.newInstance(codecClass, conf);
  			extension = codec.getDefaultExtension();
  		}
  		Path file = getDefaultWorkFile(ctx, extension);
  		if (!isCompressed) {
  			return getRecordWriter(ctx, file);
  		} else {
  			FileSystem fs = file.getFileSystem(conf);
  			return getRecordWriter(ctx, codec.createOutputStream(fs.create(file)));
  		}
  	}
docs: <code>setHeader</code> or <code>readHeaderFrom</code> must have been
  called first.