PdbByteReader getReaderForStreamNumber(int streamNumber, int streamOffset, int numToRead)
			throws IOException, CancelledException {
		MsfStream stream = msf.getStream(streamNumber);
		numToRead = Math.min(numToRead, stream.getLength() - streamOffset);
		byte[] bytes = stream.read(streamOffset, numToRead);
		PdbByteReader reader = new PdbByteReader(bytes);
		return reader;
	}
Returns a {@link PdbByteReader} initialized with up to  {@code numToRead} byte of content
 (less if not available) from the {@link MsfStream} referenced by {@code streamNumber}
 starting at {@code streamOffset}
@param streamNumber the stream number of the {@link MsfStream} from which to load the data
@param streamOffset starting location within the {@link MsfStream} from which to get the
 data
@param numToRead number of bytes used to initialize the {@link PdbByteReader}
@return the {@link PdbByteReader}
@throws IOException on file seek or read, invalid parameters, bad file configuration, or
 inability to read required bytes
@throws CancelledException upon user cancellation
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb2/pdbreader/AbstractPdb.java