code: public BufferedReader openBufferedStream() throws IOException {
      Reader reader = openStream();
      return (reader instanceof BufferedReader)
          ? (BufferedReader) reader
          : new BufferedReader(reader);
    }
docs: 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