@Override
	public List<SymbolFileLocation> find(SymbolFileInfo symbolFileInfo, Set<FindOption> options,
			TaskMonitor monitor) {

		initStorageLevelIfNeeded(monitor);

		List<SymbolFileLocation> matches = new ArrayList<>();

		if (storageLevel != 0) {
			// search for exact matches using the built-in logic in AbstractSymbolServer
			matches.addAll(super.find(symbolFileInfo, options, monitor));

			if (options.contains(FindOption.ANY_AGE) || options.contains(FindOption.ANY_ID)) {
				try {
					searchLevelN(symbolFileInfo, options, matches, monitor);
				}
				catch (IOException ioe) {
					Msg.warn(this,
						"Error searching for " + symbolFileInfo.getName() + " in " + rootDir, ioe);
				}
			}
		}
		else {
			searchLevel0(rootDir, this, symbolFileInfo, options, matches, monitor);
		}

		return matches;
	}
Non-task monitor variant of {@link #isValid(TaskMonitor)}.

@return boolean true if this is a valid symbol store
Ghidra/Features/PDB/src/main/java/pdb/symbolserver/LocalSymbolStore.java