code: public static BufferWriter newBufferWriter(TempFileContext tempFileContext, long tempFileThreshold) {
  		//return new SegmentedWriter();
  		BufferWriter bufferWriter = new CharArrayBufferWriter();
  		if(tempFileThreshold != Long.MAX_VALUE) {
  			bufferWriter = new AutoTempFileWriter(
  				bufferWriter,
  				tempFileContext,
  				tempFileThreshold
  			);
  		}
  		return bufferWriter;
  	}
docs: Creates an instance of the currently preferred {@link BufferWriter}.
  Buffering strategies may change over time as technology develops and
  options become available.
  
  @see  TempFileContext
  @see  AutoTempFileWriter