private URL resolveURL(DomainFile file) throws IOException {
		if (file.isLinkFile()) {
			return LinkHandler.getURL(file);
		}
		DomainFolder parent = file.getParent();
		if (file instanceof LinkedDomainFile linkedFile) {
			return resolveLinkedDomainFile(linkedFile);
		}
		if (!parent.getProjectLocator().isTransient()) {
			return file.getLocalProjectURL(null);
		}
		return file.getSharedProjectURL(null);
	}
Returns true if the information in this location can be used to reopen a program.
@return true if the information in this location can be used to reopen a program
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramLocator.java