public void parse(BinaryReader reader, OatBundle bundle)
			throws IOException, UnsupportedOatVersionException {

		int count = 0;
		while (count < getKeyValueStoreSize()) {
			String key = reader.readNextAsciiString();
			String value = reader.readNextAsciiString();
			count += key.length() + 1;
			count += value.length() + 1;
			orderedKeyList.add(key);
			key_value_store_.put(key, value);
		}

		reader.setPointerIndex(getOatDexFilesOffset(reader));
		for (int i = 0; i < getDexFileCount(); ++i) {
			oatDexFileList.add(
				OatDexFileFactory.getOatDexFile(reader, getVersion(), bundle));
		}
	}
Parses the OAT header beyond the MAGIC and VERSION fields.
The "additionalData" is used to future proof the parsers.
For example, its needed for handling vdex files.
@param reader the binary reader with the file bytes.
@param bundle the fake OAT bundle containing the DEX, VDEX, etc.
@throws IOException if an IO exception occurs.
@throws UnsupportedOatVersionException if the OAT version is not supported.
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/android/oat/OatHeader.java