public FSRL getFullyQualifiedFSRL(FSRL fsrl, TaskMonitor monitor)
			throws CancelledException, IOException {
		if (fsrl == null || fsrl.getMD5() != null) {
			return fsrl;
		}
		try (FileSystemRef fsRef = getFilesystem(fsrl.getFS(), monitor)) {
			return getFullyQualifiedFSRL(fsRef.getFilesystem(), fsrl, monitor);
		}
	}
Returns a cloned copy of the {@code FSRL} that should have MD5 values specified.
(excluding GFile objects that don't have data streams)

@param fsrl {@link FSRL} of the file that should be forced to have a MD5
@param monitor {@link TaskMonitor} to watch and update with progress.
@return possibly new {@link FSRL} instance with a MD5 value.
@throws CancelledException if user cancels.
@throws IOException if IO problem.
Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileSystemService.java