private List<ImageSectionHeader> deserializeSectionHeaders(int streamNum)
			throws CancelledException {
		try {
			PdbByteReader reader = pdb.getReaderForStreamNumber(streamNum);
			List<ImageSectionHeader> sectionHeaders = new ArrayList<>();
			while (reader.hasMore()) {
				pdb.checkCancelled();
				ImageSectionHeader imageSectionHeader = new ImageSectionHeader(pdb);
				imageSectionHeader.parse(reader);
				sectionHeaders.add(imageSectionHeader);
			}
			return sectionHeaders;
		}
		catch (PdbException | IOException e) {
			PdbLog.message("Returning null Debug Image Section Headers due to" +
				" problem during deserialization from stream" + streamNum + ": " + e.getMessage());
			return null;
		}
	}
Deserialize each valid {@link DebugData} stream, based upon valid stream numbers found while
 parsing the {@link DebugData} header
@throws PdbException PdbException upon error in processing components
@throws CancelledException upon user cancellation
@throws IOException on file seek or read, invalid parameters, bad file configuration, or
 inability to read required bytes
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb2/pdbreader/DebugData.java