private static List <RecurrenceManager.ExceptionSummary> GetExceptionSumaryList(AttachmentCollection attachments)
        {
            List <RecurrenceManager.ExceptionSummary> list = new List <RecurrenceManager.ExceptionSummary>(attachments.Count);

            foreach (AttachmentHandle handle in attachments.GetAllHandles())
            {
                if (CoreAttachmentCollection.IsCalendarException(handle))
                {
                    using (Attachment attachment = attachments.Open(handle, null))
                    {
                        ExDateTime?valueAsNullable = attachment.GetValueAsNullable <ExDateTime>(InternalSchema.AppointmentExceptionStartTime);
                        if (valueAsNullable != null)
                        {
                            ExDateTime?valueAsNullable2 = attachment.GetValueAsNullable <ExDateTime>(InternalSchema.AppointmentExceptionEndTime);
                            if (valueAsNullable2 != null)
                            {
                                ExDateTime utcStart = ExTimeZone.UtcTimeZone.ConvertDateTime(valueAsNullable.Value);
                                ExDateTime utcEnd   = ExTimeZone.UtcTimeZone.ConvertDateTime(valueAsNullable2.Value);
                                list.Add(new RecurrenceManager.ExceptionSummary(handle, utcStart, utcEnd));
                            }
                        }
                    }
                }
            }
            return(list);
        }