@Override
	protected DomainFile fromString(String valueString) {
		DomainFile df = parseDomainFile(valueString);
		if (df == null) {
			throw new IllegalArgumentException("Can't find domain file: " + valueString);
		}
		Class<? extends DomainObject> domainObjectClass = df.getDomainObjectClass();
		if (!projectFileClass.isAssignableFrom(domainObjectClass)) {
			throw new IllegalArgumentException(
				"Specified file path is not a " + projectFileClass.getSimpleName());
		}
		return df;
	}
Constructor for ProgramValue when wanting to pick from a different project than the
active project, such as a read-only project.
@param name the name of the value
@param project The project from which to pick a project.
@param startingPath the path to a starting folder (Can also be a path to program)
@param projectFileClass a {@link DomainFile} class to filter on. (Only those types
will appear in the chooser)
Ghidra/Features/Base/src/main/java/ghidra/features/base/values/ProjectFileValue.java