Folder getFolder(String path, GetFolderOption option) throws NotFoundException {
		if (rootFolder == null) {
			throw new NotFoundException("Filesystem has been disposed");
		}
		if (!path.startsWith(SEPARATOR)) {
			throw new NotFoundException("Invalid folder path: " + path);
		}
		Folder folder = rootFolder;
		if (path.length() == 1) {
			return folder;
		}
		String[] names = path.substring(1).split(SEPARATOR);
		for (int i = 0; i < names.length; i++) {
			String name = names[i];
			Folder subfolder = folder.folders.get(name);
			if (subfolder == null) {
				if ((option == GetFolderOption.CREATE && i == (names.length - 1)) ||
					option == GetFolderOption.CREATE_ALL_NOTIFY ||
					option == GetFolderOption.CREATE_ALL) {
					subfolder = new Folder();
					subfolder.parent = folder;
					subfolder.name = name;
					folder.folders.put(name, subfolder);
					if (option == GetFolderOption.CREATE_ALL_NOTIFY) {
						eventManager.folderCreated(folder.getPathname(), name);
					}
				}
				else {
					throw new NotFoundException(
						"Folder not found: " + getPath(folder.getPathname(), name));
				}
			}
			folder = subfolder;
		}
		return folder;
	}
Verify that the specified root directory passes all criteria to be an indexed 
filesystem.
@param root
@return number of property files processed
@throws IndexReadException
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/local/IndexedLocalFileSystem.java