java.io.InputStream defines a single abstract method: int read(), which
subclasses implement to return bytes from the logical input stream.
However, in most circumstances, readers from InputStreams use higher-level
methods like read(byte[], int offset, int length) to read multiple bytes at a
time into a buffer. The default implementation of this method is to repeatedly
call read(). However, most InputStream implementations could do much better if
they can read multiple bytes at once (at the very least, avoiding unneeded
byte -> int -> byte casts that are needed when implementing the read()
method over an underlying byte source).
The class in question implements int read() without also overriding int
read(byte[], int, int) and will thus be subject to the costs associated with
the default behavior of the multibyte read method.
Suppress false positives by adding the suppression annotation @SuppressWarnings("InputStreamSlowMultibyteRead") to the enclosing element.