android/guava/src/com/google/common/io/CharSource.java
public BufferedReader openBufferedStream() throws IOException {
    Reader reader = openStream();
    return (reader instanceof BufferedReader)
        ? (BufferedReader) reader
        : new BufferedReader(reader);
  }
public BufferedReader openBufferedStream() throws IOException {
    Reader reader = openStream();
    return (reader instanceof BufferedReader)
        ? (BufferedReader) reader
        : new BufferedReader(reader);
  }
public BufferedReader openBufferedStream ( ) throws IOException { Reader reader = openStream ( ) ; return ( reader instanceof BufferedReader ) ? ( BufferedReader ) reader : new BufferedReader ( reader ) ; }
Opens a new {@link BufferedReader} for reading from this source. This method returns a new,
independent reader each time it is called.

<p>The caller is responsible for ensuring that the returned reader is closed.

@throws IOException if an I/O error occurs while of opening the reader
Opens a new { @link BufferedReader } for reading from this source . This method returns a new independent reader each time it is called .