private void ProcessChangeHighlights(CalendarItemBase calendarItem, long meetingRequestBodySize, long calendarItemBodySize) { int num = base.GetValueOrDefault <int>(InternalSchema.ChangeHighlight, -1); if (calendarItem.IsNew && !(calendarItem is CalendarItemOccurrence)) { num = 0; base.LocationIdentifierHelperInstance.SetLocationIdentifier(47221U); this[InternalSchema.ChangeHighlight] = num; } else { ChangeHighlightHelper changeHighlightHelper = MeetingRequest.CompareForChangeHighlightOnUpdatedItems(base.PropertyBag, meetingRequestBodySize, calendarItem.PropertyBag, calendarItemBodySize); if (this.ShouldPreserveAttendeesChanges(calendarItem)) { PreservablePropertyContext context = new PreservablePropertyContext(this, calendarItem, (ChangeHighlightProperties)num); foreach (StorePropertyDefinition storePropertyDefinition in ChangeHighlightHelper.HighlightProperties) { if (changeHighlightHelper[storePropertyDefinition]) { PreservableMeetingMessageProperty preservableMeetingMessageProperty = null; if (PreservableMeetingMessageProperty.InstanceFromPropertyDefinition.TryGetValue(storePropertyDefinition, out preservableMeetingMessageProperty)) { changeHighlightHelper[storePropertyDefinition] = !preservableMeetingMessageProperty.ShouldPreserve(context); } } } } num = changeHighlightHelper.HighlightFlags; MeetingMessageType meetingMessageType = changeHighlightHelper.SuggestedMeetingType; if (meetingMessageType == MeetingMessageType.InformationalUpdate && calendarItem.IsCancelled) { meetingMessageType = MeetingMessageType.FullUpdate; } if (this.MeetingRequestType != MeetingMessageType.PrincipalWantsCopy) { this.MeetingRequestType = meetingMessageType; } else { base.LocationIdentifierHelperInstance.SetLocationIdentifier(35701U); this[InternalSchema.OriginalMeetingType] = meetingMessageType; } base.LocationIdentifierHelperInstance.SetLocationIdentifier(52085U); this[InternalSchema.ChangeHighlight] = num; } calendarItem.SetChangeHighlight(num); }