question: private boolean fillBuffer ( ) { while ( buffer . count ( ) == 0 ) { if ( bufferSink . cancellationRequested ( ) || ! pusher . getAsBoolean ( ) ) { if ( finished ) return false ; else { bufferSink . end ( ) ; finished = true ; } } } return true ; }
target:  If the buffer is empty, push elements into the sink chain until the source is empty or cancellation is requested.