@Override
	public void deserialize() throws IOException, PdbException, CancelledException {
		byte[] bytes = new byte[getPageSize()];
		fileReader.read(getHeaderPageNumber(), 0, getPageSize(), bytes, 0);

		PdbByteReader reader = new PdbByteReader(bytes);
		reader.setIndex(getPageSizeOffset());
		pageSize = reader.parseInt();
		parseFreePageMapPageNumber(reader);
		parseCurrentNumPages(reader);
		configureParameters();

		directoryStream.deserializeStreamInfo(reader);

		// Do not need FreePageMap for just reading files.
		freePageMap.deserialize();
		// For debug: freePageMap.dump();

		streamTable.deserialize(directoryStream);
	}
Performs required initialization of this class, needed before trying to read any
 Streams.  Initialization includes deserializing the remainder of the header as well
 as stream directory information
@throws IOException on file seek or read, invalid parameters, bad file configuration, or
 inability to read required bytes
@throws PdbException upon unknown value for configuration
@throws CancelledException upon user cancellation
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb2/pdbreader/msf/AbstractMsf.java