public synchronized FileSystemRef getRef(FSRLRoot fsrl) {
		if (rootFSRL.equals(fsrl)) {
			return rootFS.getRefManager().create();
		}
		FSCacheInfo fsci = filesystems.get(fsrl);
		if (fsci != null) {
			return fsci.ref.dup();
		}
		// If the query FSRL doesn't have a MD5, do a slow scan 
		// for filesystems that match by equiv.
		if (fsrl.getMD5() == null) {
			for (Entry<FSRLRoot, FSCacheInfo> entry : filesystems.entrySet()) {
				if (entry.getKey().isEquivalent(fsrl)) {
					return entry.getValue().ref.dup();
				}
			}
		}
		return null;
	}
Returns a new {@link FileSystemRef} to an existing, already open {@link GFileSystem filesystem}.
Caller is responsible for {@link FileSystemRef#close() closing} it.
<p>
Returns NULL if the requested filesystem isn't already open and mounted in the cache.

@param fsrl {@link FSRLRoot} of the desired filesystem.
@return a new {@link FileSystemRef} or null if the filesystem is not currently mounted.
Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileSystemInstanceManager.java