@Override
	public int available() {
		return (int) Math.min(bpEndPadOffset - currentBPOffset, Integer.MAX_VALUE);
	}
Create a new {@link ByteProviderInputStream} instance, using the specified
{@link ByteProvider} as the source of the bytes returned from this stream.
<p>
The source ByteProvider is not closed when this stream is closed.
<p>
The total number of bytes that can be read from this instance will be length + padCount.

@param provider the {@link ByteProvider} to wrap.
@param startOffset the starting offset in the ByteProvider.
@param length the number of bytes from the {@link ByteProvider} to allow to be read by this InputStream.
@param padCount the number of fake zero bytes to add after the real {@code length} bytes.
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/ByteProviderPaddedInputStream.java