private Integer deserializeXData(int streamNum) throws CancelledException {
		try {
			PdbByteReader reader = pdb.getReaderForStreamNumber(streamNum);
			int streamLength = reader.getLimit();
			//System.out.println(reader.dump(0x20));
			RvaVaDebugHeader header = new RvaVaDebugHeader();

			header.deserialize(reader);
			//System.out.println(header.dump());
			if (header.getHeaderVersion() != 1) {
				return null; // Silent... TODO: add logging event.
			}
			long headerLength = header.getHeaderLength();
			long dataLength = header.getDataLength();
			if (headerLength + dataLength > streamLength) {
				throw new PdbException("Problem parsing Debug XData");
			}
			reader.setIndex((int) headerLength);
			//System.out.println(reader.dump());
			PdbByteReader xDataReader = reader.getSubPdbByteReader(reader.numRemaining());
			// TODO: This is a partial implementation.  We need to figure out more to know
			//  how to deal with it.  The only API information regarding the XData is with
			//  regard to processing PData when the "machine" is IA64 or AMD64.  The interpretation
			//  for these machines is not real clear (or a bit of work), and there is no other
			//  interpretation available when the machine is different.
		}
		catch (PdbException | IOException e) {
			PdbLog.message("Returning null Debug XData" +
				" problem during deserialization from stream" + streamNum + ": " + e.getMessage());
			return null;
		}

		return null;
	}
See the {@link LinkerUnwindInfo} class that was built for and is pertinent to
 processing XData
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb2/pdbreader/DebugData.java