/*
		 * We need this function as we want to load the user setting in admin mode, we want to use
		 * the admin model, but load the user settings instead.
		 */
		public static MainViewModel LoadAndDirtyUpModelUserOptions(MainViewModel model, bool bFactoryDefaults)
		{
			// Load user's current options and make a copy.
			BuildModel(model, true, bFactoryDefaults, true);
			List<IOption> currentOptions = model.CheapCopyAllOptions();

			// Load the default options.
			BuildModel(model, false, false, true);

			// Options in the persisted model that are different to the temporary
			// model will be made dirty. (No data is copied.)
			model.DirtyUp(currentOptions);

			return model;
		}