@Override
		public ISequentialOutStream getStream(int index, ExtractAskMode extractAskMode)
				throws SevenZipException {
			currentIndex = index;

			// STEP 1: SevenZip calls this method to get a object it can use to write the bytes to.
			// If we return null, SZ treats it as a skip. (except for folders)
			currentItem = items[currentIndex];
			currentName = currentItem.getPath();

			if (currentItem.isFolder() || extractAskMode != ExtractAskMode.EXTRACT) {
				return null;
			}

			if (currentItem.isEncrypted() && !passwords.containsKey(currentIndex)) {
				// if we lack a password for this item, don't try to extract it
				Msg.debug(SevenZipFileSystem.this,
					"No password for file[%d] %s of %s, unable to extract.".formatted(currentIndex,
						currentName, fsFSRL.getContainer().getName()));
				return null;
			}

			return this;
		}
Implements SevenZip bulk extract callback.
<p>
For each file in the archive, SZ will call this class's 1) getStream(), 2) prepare(), 
3) lots of write()s, and then 4) setOperationResult().
<p>
This class writes the extracted bytes to the FileCache.
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/sevenzip/SevenZipFileSystem.java