private DomainFile findProgramByName(String programText, DomainFolder folder) {
		DomainFile[] files = folder.getFiles();
		for (DomainFile file : files) {
			if (file.getName().equals(programText)) {
				return file;
			}
		}

		// not at the current level, then check sub-folders
		DomainFolder[] folders = folder.getFolders();
		for (DomainFolder subFolder : folders) {
			DomainFile domainFile = findProgramByName(programText, subFolder);
			if (domainFile != null) {
				return domainFile;
			}
		}

		return null;
	}
This could return a symbol or an address (or any text really, since it is not checked
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/ProgramAnnotatedStringHandler.java