src/vs/platform/userDataProfile/common/userDataProfile.ts/UserDataProfilesService/profilesObject
class UserDataProfilesService:	protected get profilesObject(): UserDataProfilesObject {
		if (!this._profilesObject) {
			const profiles = [];
			if (this.enabled) {
				for (const storedProfile of this.getStoredProfiles()) {
					if (!storedProfile.name || !isString(storedProfile.name) || !storedProfile.location) {
						this.logService.warn('Skipping the invalid stored profile', storedProfile.location || storedProfile.name);
						continue;
					}
					profiles.push(toUserDataProfile(basename(storedProfile.location), storedProfile.name, storedProfile.location, { shortName: storedProfile.shortName, useDefaultFlags: storedProfile.useDefaultFlags }));
				}
			}
			let emptyWindow: IUserDataProfile | undefined;
			const workspaces = new ResourceMap<IUserDataProfile>();
			const defaultProfile = toUserDataProfile(hash(this.environmentService.userRoamingDataHome.path).toString(16), localize('defaultProfile', "Default"), this.environmentService.userRoamingDataHome);
			profiles.unshift({ ...defaultProfile, extensionsResource: this.getDefaultProfileExtensionsLocation() ?? defaultProfile.extensionsResource, isDefault: true });
			if (profiles.length) {
				const profileAssicaitions = this.getStoredProfileAssociations();
				if (profileAssicaitions.workspaces) {
					for (const [workspacePath, profilePath] of Object.entries(profileAssicaitions.workspaces)) {
						const workspace = URI.parse(workspacePath);
						const profileLocation = URI.parse(profilePath);
						const profile = profiles.find(p => this.uriIdentityService.extUri.isEqual(p.location, profileLocation));
						if (profile) {
							workspaces.set(workspace, profile);
						}
					}
				}
				if (profileAssicaitions.emptyWindow) {
					const emptyWindowProfileLocation = URI.parse(profileAssicaitions.emptyWindow);
					emptyWindow = profiles.find(p => this.uriIdentityService.extUri.isEqual(p.location, emptyWindowProfileLocation));
				}
			}
			this._profilesObject = { profiles, workspaces, emptyWindow };
		}
		return this._profilesObject;
	}