private void renderFile(FSBFileNode node, boolean selected) {
				FSRL fsrl = node.getFSRL();
				String filename = fsrl.getName();
				List<Icon> overlays = new ArrayList<>(4);

				DomainFile df = projectIndex.findFirstByFSRL(fsrl);
				if (df != null) {
					overlays.add(FSBIcons.IMPORTED_OVERLAY_ICON);

					if (df.isOpen()) {
						// TODO: change this to a OVERLAY_OPEN option when fetching icon
						setForeground(selected ? Palette.CYAN : Palette.MAGENTA);
					}
				}
				if (fsService.isFilesystemMountedAt(fsrl)) {
					overlays.add(FSBIcons.FILESYSTEM_OVERLAY_ICON);
				}
				if (node.isSymlink()) {
					overlays.add(FSBIcons.LINK_OVERLAY_ICON);
				}
				if (node.hasMissingPassword()) {
					overlays.add(FSBIcons.MISSING_PASSWORD_OVERLAY_ICON);
				}

				String ext = node.getFilenameExtOverride();
				if (ext != null && !ext.isEmpty()) {
					if (ext.startsWith(".")) {
						Msg.error(this,
							"Extension override '" + ext + "' should not begin with a dot");
					} else {
						filename += "." + ext;
					}
				}

				Icon icon = fsbIcons.getIcon(filename, overlays);
				setIcon(icon);
			}
Creates a new {@link FSBComponentProvider} instance, taking
ownership of the passed-in {@link FileSystemRef fsRef}.

@param plugin parent plugin
@param fsRef {@link FileSystemRef} to a {@link GFileSystem}.
Ghidra/Features/Base/src/main/java/ghidra/plugins/fsbrowser/FSBComponentProvider.java