code: 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;
    }
docs: 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