src/vs/workbench/services/experiment/common/experimentService.ts/ExperimentService/getTreatment
class ExperimentService:	async getTreatment<T extends string | number | boolean>(name: string): Promise<T | undefined> {
		// For development purposes, allow overriding tas assignments to test variants locally.
		await this.overrideInitDelay;
		const override = this.configurationService.getValue<T>('experiments.override.' + name);
		if (override !== undefined) {
			type TAASClientOverrideTreatmentData = { treatmentName: string; };
			type TAASClientOverrideTreatmentClassification = { treatmentName: { classification: 'SystemMetaData', purpose: 'PerformanceAndHealth', }; };
			this.telemetryService.publicLog2<TAASClientOverrideTreatmentData, TAASClientOverrideTreatmentClassification>('tasClientOverrideTreatment', { treatmentName: name, });
			return override;
		}

		const startSetup = Date.now();

		if (!this.tasClient) {
			return undefined;
		}

		if (!this.experimentsEnabled) {
			return undefined;
		}

		let result: T | undefined;
		const client = await this.tasClient;
		if (this.networkInitialized) {
			result = client.getTreatmentVariable<T>('vscode', name);
		} else {
			result = await client.getTreatmentVariableAsync<T>('vscode', name, true);
		}

		type TAASClientReadTreatmentData = {
			treatmentName: string;
			treatmentValue: string;
			readTime: number;
		};

		type TAASClientReadTreatmentCalssification = {
			treatmentValue: { classification: 'SystemMetaData', purpose: 'PerformanceAndHealth', };
			treatmentName: { classification: 'SystemMetaData', purpose: 'PerformanceAndHealth', };
			readTime: { classification: 'SystemMetaData', purpose: 'PerformanceAndHealth', isMeasurement: true };
		};
		this.telemetryService.publicLog2<TAASClientReadTreatmentData, TAASClientReadTreatmentCalssification>('tasClientReadTreatmentComplete',
			{ readTime: Date.now() - startSetup, treatmentName: name, treatmentValue: JSON.stringify(result) });

		return result;
	}