code: protected final void flushBuffer() throws IOException {
          if (bufferSize == 0)
              return;
          flushed = true;
          // defect 312981 begin
          //ensureOpen();
      	if (closed) {
      	    throw new IOException("Stream closed");
          }
          // defect 312981 end
  
          if (nextChar == 0) {
              //PK90190 - start 
              //add check for property to create the writer even when the buffer is empty
              if (WCCustomProperties.GET_WRITER_ON_EMPTY_BUFFER) {
                  initOut();
              }
              //PK90190 - end
              return;
          }
          initOut();
          out.write(cb, 0, nextChar);
          nextChar = 0;
      }
docs: Flush the output buffer to the underlying character stream, without
  flushing the stream itself.  This method is non-private only so that it
  may be invoked by PrintStream.