@CanIgnoreReturnValue
  static long copyReaderToBuilder(Reader from, StringBuilder to) throws IOException {
    """
	Copies all characters between the {@link Reader} and {@link StringBuilder} objects. Does not
	close or flush the reader.
	
	<p>This is identical to {@link #copy(Readable, Appendable)} but optimized for these specific
	types. CharBuffer has poor performance when being written into or read out of so round tripping
	all the bytes through the buffer takes a long time. With these specialized types we can just
	use a char array.
	
	@param from the object to read from
	@param to the object to write to
	@return the number of characters copied
	@throws IOException if an I/O error occurs
    """
    checkNotNull(from);
    checkNotNull(to);
    char[] buf = new char[DEFAULT_BUF_SIZE];
    int nRead;
    long total = 0;
    while ((nRead = from.read(buf)) != -1) {
      to.append(buf, 0, nRead);
      total += nRead;
    }
    return total;
  }
@CanIgnoreReturnValue
  static long copyReaderToBuilder(Reader from, StringBuilder to) throws IOException {
    checkNotNull(from);
    checkNotNull(to);
    char[] buf = new char[DEFAULT_BUF_SIZE];
    int nRead;
    long total = 0;
    while ((nRead = from.read(buf)) != -1) {
      to.append(buf, 0, nRead);
      total += nRead;
    }
    return total;
  }
@ CanIgnoreReturnValue static long copyReaderToBuilder ( Reader from , StringBuilder to ) throws IOException { checkNotNull ( from ) ; checkNotNull ( to ) ; char [ ] buf = new char [ DEFAULT_BUF_SIZE ] ; int nRead ; long total = 0 ; while ( ( nRead = from . read ( buf ) ) != - 1 ) { to . append ( buf , 0 , nRead ) ; total += nRead ; } return total ; }
Copies all characters between the {@link Reader} and {@link StringBuilder} objects. Does not
close or flush the reader.

<p>This is identical to {@link #copy(Readable, Appendable)} but optimized for these specific
types. CharBuffer has poor performance when being written into or read out of so round tripping
all the bytes through the buffer takes a long time. With these specialized types we can just
use a char array.

@param from the object to read from
@param to the object to write to
@return the number of characters copied
@throws IOException if an I/O error occurs
Copies all characters between the { @link Reader } and { @link StringBuilder } objects . Does not close or flush the reader .