@Override
	public FileAttributes getFileAttributes(GFile file, TaskMonitor monitor) {
		monitor.addCancelledListener(listener);

		FileAttributes fileAttributes = new FileAttributes();
		try {
			List<String> infoResults = processManager.sendCmd("get_info " + file.getPath(), -1);
			int count = 1;
			for (String s : infoResults) {
				String[] sParts = s.split(": *", 2);
				if (sParts.length == 2) {
					fileAttributes.add(sParts[0], sParts[1]);
				}
				else {
					fileAttributes.add("Unknown Attribute " + (count++), s);
				}
			}
		}
		catch (Exception e) {
			Msg.showError(this, null, "DMG: Unable To Get Info", e.getMessage());
		}
		finally {
			monitor.removeCancelledListener(listener);
		}
		return fileAttributes;
	}
Creates a {@link DmgClientFileSystem} instance, using a decrypted dmg file and
the filesystem's {@link FSRLRoot}.

@param decryptedDmgFile path to a decrypted DMG file.  The DmgClientFileSystemFactory
takes care of decrypting for us
@param deleteFileWhenDone boolean flag, if true, the container file will be deleted when
the filesystem is closed
@param fsrl {@link FSRLRoot} of this filesystem
@param fsService {@link FileSystemService} reference
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/ios/dmg/DmgClientFileSystem.java