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

			const newThemeData = this.productIconThemeRegistry.findThemeById(iconTheme) || ProductIconThemeData.defaultTheme;
			await newThemeData.ensureLoaded(this.fileService, this.logService);

			this.applyAndSetProductIconTheme(newThemeData);

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

			return newThemeData;
		});
	}