PrintWriter autoflush intrigante lógica

public PrintWriter (saída de saída, fluxo automático booleano):

out - An output stream
autoFlush - A boolean; if true, the println, printf, or format methods
will flush the output buffer

public PrintStream (saídaStream, boolean autoFlush):

out - The output stream to which values and objects will be printed 
autoFlush - A boolean; if true, the output buffer will be flushed 
whenever a byte array is written, one of the println methods is invoked, 
or a newline character or byte ('\n') is written
Qual foi o motivo da alteração da lógica de autoflush entre essas classes?

Por serem sempre considerados idênticos, exceto por momentos de codificação e "autoflush" sem liberarprint() dificilmente corresponde ao princípio de menor espanto, ocorrem erros tolos:
Criei um PrintWriter com o autoflush ativado; por que não é autoflushing?

questionAnswers(2)

yourAnswerToTheQuestion