private void processFS(GFileSystem fs, GFile startDir, String folderPath, int depth)
			throws CancelledException, IOException {
		if (!folderPath.endsWith(DomainFolder.SEPARATOR)) {
			folderPath += DomainFolder.SEPARATOR;
		}
		folderPath += startDir.getName();

		for (GFile file : fs.getListing(startDir)) {
			String name = file.getName();
			if (name.startsWith(".")) {
				Msg.warn(this, "Ignoring file '" + name + "'.");
				continue;
			}
			FSRL fqFSRL;
			try {
				fqFSRL = fsService.getFullyQualifiedFSRL(file.getFSRL(), TaskMonitor.DUMMY);
			}
			catch (IOException e) {
				Msg.warn(this, "Error getting info for " + file.getFSRL());
				continue;
			}
			try {
				checkValidFilename(fqFSRL.getName());
				processWithImport(fqFSRL, folderPath, depth, false);
			}
			catch (InvalidInputException e) {
				// Just move on if not valid
			}
		}
	}
Process the specified filename within parentFolder.
@param parentFolder domain folder to be searched
@param filename name of file to be imported
@return true if one or more files processed
@throws IOException if an IO problem occurred.
Ghidra/Features/Base/src/main/java/ghidra/app/util/headless/HeadlessAnalyzer.java