src/vs/platform/userDataProfile/node/userDataProfile.ts/UserDataProfilesService/profilesObject
class UserDataProfilesService:	protected get profilesObject(): UserDataProfilesObject {
		if (!this.enabled) {
			return { profiles: [], workspaces: new ResourceMap() };
		}
		if (!this._profilesObject) {
			const profiles = this.getStoredProfiles().map<IUserDataProfile>(storedProfile => toUserDataProfile(storedProfile.name, storedProfile.location, storedProfile.useDefaultFlags));
			let emptyWindow: IUserDataProfile | undefined;
			const workspaces = new ResourceMap<IUserDataProfile>();
			if (profiles.length) {
				profiles.unshift(this.createDefaultUserDataProfile(true));
				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;
	}