On May 1, 2013, at 6:36 AM, Henry Jen <henry....@oracle.com> wrote:
> 
>> 
>>    /**
>>     * Returns a {@code Stream}, the elements of which are lines read from 
>> this
>>     * {@code BufferedReader}.  The {@link Stream} is lazily populated via
>>     * calls to {@link #readLine()}.
>>     *
>>     * <p>Each element consumed by the {@code Stream} caused a line to be
>>     * read from this {@code BufferedReader}. Since the {@code Stream} does
>>     * not necessarily consume all lines, it is possible to mix and use
>>     * different read methods on a {@code BufferedReader}. Each method will
>>     * simply pick up from where it was left on last read.
>>     *
>>     * <p>The reader must not be operated on during the execution of the 
>> terminal
>>     * stream operation. Otherwise, the result of the terminal stream 
>> operation is 
>>     * undefined
>>     *
>>     * <p>Noted that some terminal stream operations make no guarantee how 
>> many
>>     * element to be consumed. Therefore after execution of the terminal
>>     * stream operation there are no guarantees that the reader will be at a
>>     * specific position from which to read the next character or line.
>>     *

I don't think the first sentence of the above paragraph is necessary for 
normative stuff. I think it sufficient to state "After execution of the 
terminal operation there are... "

You could, if you wish, add an @apiNote providing further details as to why 
there are no such guarantees.

Paul.

Reply via email to