public void Start()
{
lock (lockObject) {
if (IsLoaded) {
return;
}
PendingProfiles.Clear();
foreach (Profile p in EnvironmentManager.Settings.Profiles) {
PendingProfiles.Add(new Profile(p));
}
if (PendingProfiles.Count == 0) {
CreateProfile();
}
if (EnvironmentManager.Settings.DefaultProfile != null) {
PendingDefaultProfile = new Profile(EnvironmentManager.Settings.DefaultProfile);
} else {
PendingDefaultProfile = PendingProfiles.First();
}
ApplyChanges();
if (EnvironmentManager.Settings.Profiles.Count == 0) {
EnvironmentManager.Save();
}
IsLoaded = true;
}
}