src/vs/workbench/services/themes/browser/workbenchThemeService.ts/WorkbenchThemeService/setFileIconTheme
class WorkbenchThemeService:	public async setFileIconTheme(iconTheme: string | undefined, settingsTarget: ThemeSettingTarget): Promise<IWorkbenchFileIconTheme> {
		return this.fileIconThemeSequencer.queue(async () => {
			iconTheme = iconTheme || '';
			if (iconTheme === this.currentFileIconTheme.id && this.currentFileIconTheme.isLoaded) {
				await this.settings.setFileIconTheme(this.currentFileIconTheme, settingsTarget);
				return this.currentFileIconTheme;
			}

			const newThemeData = this.fileIconThemeRegistry.findThemeById(iconTheme) || FileIconThemeData.noIconTheme;
			await newThemeData.ensureLoaded(this.fileService);

			this.applyAndSetFileIconTheme(newThemeData);

			// remember theme data for a quick restore
			if (newThemeData.isLoaded && (!newThemeData.location || !getRemoteAuthority(newThemeData.location))) {
				newThemeData.toStorage(this.storageService);
			}
			await this.settings.setFileIconTheme(this.currentFileIconTheme, settingsTarget);

			return newThemeData;
		});
	}