private List<GFile> getRawListing(GFile dir) throws IOException {
		List<String> childInfo = processManager.sendCmd("get_listing " + dir.getPath(),
			-3 /* 3 responses per result, unknown number of results*/);

		if (childInfo.size() % 3 != 0) {
			throw new IOException("Bad response for get_listing for directory " + dir);
		}

		List<GFile> results = new ArrayList<>();
		for (int i = 0; i < childInfo.size(); i += 3) {
			String name = childInfo.get(i + 0);
			boolean isDirectory = childInfo.get(i + 1).equals("true");
			long length = Long.parseLong(childInfo.get(i + 2));

			GFileImpl gFile = GFileImpl.fromFilename(this, dir, name, isDirectory, length, null);
			results.add(gFile);
		}
		return results;
	}
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