@Override
	public int read() throws IOException {
		if (monitor.isCancelled()) {
			throw new IOCancelledException();
		}
		int n = in.read();
		if (n != -1) {
			++smallCount;
			if (smallCount >= PROGRESS_INCREMENT) {
				count += smallCount;
				smallCount = 0;
				monitor.setProgress(count);
			}
		}
		return n;
	}
Reads the next byte of data from this input stream. The value 
byte is returned as an <code>int</code> in the range 
<code>0</code> to <code>255</code>. If no byte is available 
because the end of the stream has been reached, the value 
<code>-1</code> is returned. This method blocks until input data 
is available, the end of the stream is detected, or an exception 
is thrown. 
<p>
This method
simply performs <code>in.read()</code> and returns the result.

@return     the next byte of data, or <code>-1</code> if the end of the
            stream is reached.
@exception  IOException  if an I/O error occurs.
Ghidra/Framework/Generic/src/main/java/ghidra/util/MonitoredInputStream.java