code: public synchronized CharArrayReader toCharArrayReader()
      throws IOException {
  
          checkFreed();
  
          CharArrayReader reader = new CharArrayReader(buf, 0, count);
  
          //System.out.println("toCharArrayReader::buf.length: " + buf.length);
          free();
  
          return reader;
      }
docs: Performs an effecient (zero-copy) conversion of the character data
  accumulated in this writer to a reader. <p>
  
  To ensure the integrity of the resulting reader, {@link #free()
  free} is invoked upon this writer as a side-effect.
  
  @return a reader representing this writer's accumulated
  character data
  @throws java.io.IOException if an I/O error occurs.
  In particular, an <tt>IOException</tt> may be thrown
  if this writer has been {@link #free() freed}.