public async Task LoadAsync(IDictionary <XName, object> readWriteValues) { reminders.Clear(); hasReactivationReminder = false; object reminderBookmarks; if (readWriteValues != null && readWriteValues.TryGetValue(WorkflowNamespace.Bookmarks, out reminderBookmarks)) { foreach (Bookmark reminderBookmark in (reminderBookmarks as List <Bookmark>)) { reminders[CreateReminderName(reminderBookmark)] = new ReminderInfo(reminderBookmark, ReminderState.RegisteredAndSaved); } } foreach (string reminderName in await instance.GetRemindersAsync()) { if (reminderName == WorkflowNamespace.ReminderNameForReactivation) { hasReactivationReminder = true; } else if (reminderName.StartsWith(WorkflowNamespace.ReminderPrefixForBookmarks) && // there can be other reminders !reminders.ContainsKey(reminderName)) { await instance.UnregisterReminderAsync(reminderName); } } await UnregisterReactivationReminderIfNotRequired(); }