public void deserializeHeader(PdbByteReader reader) throws PdbException, CancelledException {
		while (reader.hasMore()) {
			pdb.checkCancelled();
			int debugStreamNumber = reader.parseUnsignedShortVal();
			debugStreams.add(debugStreamNumber);
		}
		if (debugStreams.size() != DebugType.values().length) {
			// TODO: implement something.
			//log.appendMsg("Unrecognized extra debug streams");
		}
	}
Deserialize {@link DebugData} header from the {@link PdbByteReader} input.  This parses
 stream numbers for varying Debug Types--the order/location of the stream number is for
 each particular debug type (e.g., the first stream number read is for the stream containing
 Frame Pointer Omission debug data).  A stream number of 0XFFFF (MsfStream.NIL_STREAM_NUMBER)
 says that there is no data for that debug type; else the stream number represents the
 stream that should be deserialized to retrieve the debug data of that type.  The
 {@link #deserialize()} method deserializes each of these streams
 that are valid to the corresponding debug data type
@param reader {@link PdbByteReader} from which to parse the header
@throws PdbException upon error in processing components
@throws CancelledException upon user cancellation
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb2/pdbreader/DebugData.java