public OutputStream openBufferedStream() throws IOException {
    OutputStream out = openStream();
    return (out instanceof BufferedOutputStream)
        ? (BufferedOutputStream) out
        : new BufferedOutputStream(out);
  }
public OutputStream openBufferedStream() throws IOException {
    OutputStream out = openStream();
    return (out instanceof BufferedOutputStream)
        ? (BufferedOutputStream) out
        : new BufferedOutputStream(out);
  }
public OutputStream openBufferedStream ( ) throws IOException { OutputStream out = openStream ( ) ; return ( out instanceof BufferedOutputStream ) ? ( BufferedOutputStream ) out : new BufferedOutputStream ( out ) ; }
Opens a new buffered {@link OutputStream} for writing to this sink. The returned stream is not
required to be a {@link BufferedOutputStream} in order to allow implementations to simply
delegate to {@link #openStream()} when the stream returned by that method does not benefit from
additional buffering (for example, a {@code ByteArrayOutputStream}). This method returns a new,
independent stream each time it is called.

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

@throws IOException if an I/O error occurs while opening the stream
@since 15.0 (in 14.0 with return type {@link BufferedOutputStream})
Opens a new buffered { @link OutputStream } for writing to this sink . The returned stream is not required to be a { @link BufferedOutputStream } in order to allow implementations to simply delegate to { @link #openStream () } when the stream returned by that method does not benefit from additional buffering ( for example a { @code ByteArrayOutputStream } ) . This method returns a new independent stream each time it is called .