android/guava/src/com/google/common/io/CharStreams.java
private static StringBuilder toStringBuilder(Readable r) throws IOException {
    StringBuilder sb = new StringBuilder();
    if (r instanceof Reader) {
      copyReaderToBuilder((Reader) r, sb);
    } else {
      copy(r, sb);
    }
    return sb;
  }
private static StringBuilder toStringBuilder(Readable r) throws IOException {
    StringBuilder sb = new StringBuilder();
    if (r instanceof Reader) {
      copyReaderToBuilder((Reader) r, sb);
    } else {
      copy(r, sb);
    }
    return sb;
  }
private static StringBuilder toStringBuilder ( Readable r ) throws IOException { StringBuilder sb = new StringBuilder ( ) ; if ( r instanceof Reader ) { copyReaderToBuilder ( ( Reader ) r , sb ) ; } else { copy ( r , sb ) ; } return sb ; }
Reads all characters from a {@link Readable} object into a new {@link StringBuilder} instance.
Does not close the {@code Readable}.

@param r the object to read from
@return a {@link StringBuilder} containing all the characters
@throws IOException if an I/O error occurs
Reads all characters from a { @link Readable } object into a new { @link StringBuilder } instance . Does not close the { @code Readable } .