public GFileSystem mountFileSystem(String fsType, ByteProvider byteProvider,
			FileSystemService fsService, TaskMonitor monitor)
			throws IOException, CancelledException {
		FileSystemInfoRec fsir = fsByType.get(fsType);
		if (fsir == null) {
			byteProvider.close();
			throw new IOException("Unknown file system type " + fsType);
		}

		GFileSystem result = mountUsingFactory(fsir, byteProvider,
			byteProvider.getFSRL().makeNested(fsType), fsService, monitor);

		return result;
	}
Creates a new {@link GFileSystem} instance when the filesystem type is already
known, consuming the specified ByteProvider.

@param fsType filesystem type string, ie. "file", "zip".
@param byteProvider {@link ByteProvider}, will be owned by the new file system
@param fsService reference to the {@link FileSystemService} instance.
@param monitor {@link TaskMonitor} to use for canceling and updating progress.
@return new {@link GFileSystem} instance.
@throws IOException if error when opening the filesystem or unknown fsType.
@throws CancelledException if the user canceled the operation.
Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/factory/FileSystemFactoryMgr.java