@Nullable
	default FilePathNode findFile(@Nonnull String name) {
		// Internal resources don't have files, so we won't iterate over those.
		Queue<WorkspaceResource> resourceQueue = new ArrayDeque<>(getAllResources(false));
		while (!resourceQueue.isEmpty()) {
			WorkspaceResource resource = resourceQueue.remove();

			FileBundle bundle = resource.getFileBundle();
			FileInfo fileInfo = bundle.get(name);
			if (fileInfo != null)
				return PathNodes.filePath(this, resource, bundle, fileInfo);

			// Queue up embedded resources.
			resourceQueue.addAll(resource.getEmbeddedResources().values());
		}

		return null;
	}
@param name
		File name.

@return Path to <i>the first</i> file matching the given name.
recaf-core/src/main/java/software/coley/recaf/workspace/model/Workspace.java