// Token: 0x06001479 RID: 5241 RVA: 0x00076460 File Offset: 0x00074660
        private MessageItem CreateSubstituteDelegatedMeetingRequestMessage()
        {
            MessageItem messageItem = null;
            bool        flag        = false;

            try
            {
                MeetingMessage meetingMessage = base.XsoItem as MeetingMessage;
                messageItem = MessageItem.CreateInMemory(StoreObjectSchema.ContentConversionProperties);
                if (messageItem == null)
                {
                    AirSyncDiagnostics.TraceError(ExTraceGlobals.XsoTracer, null, "CreateSubstituteDelegatedMeetingRequestMessage failed to create in memory message item");
                    return(null);
                }
                Item.CopyItemContent(meetingMessage, messageItem);
                messageItem.ClassName = "IPM.Note";
                messageItem.AttachmentCollection.RemoveAll();
                int    num = meetingMessage.Body.PreviewText.IndexOf("*~*~*~*~*~*~*~*~*~*");
                string value;
                if (num == -1)
                {
                    ExTimeZone promotedTimeZoneFromItem = TimeZoneHelper.GetPromotedTimeZoneFromItem(meetingMessage);
                    value = CalendarItemBase.CreateWhenStringForBodyPrefix(meetingMessage, promotedTimeZoneFromItem);
                }
                else
                {
                    value = meetingMessage.Body.PreviewText.Substring(0, num + "*~*~*~*~*~*~*~*~*~*".Length);
                }
                using (TextWriter textWriter = messageItem.Body.OpenTextWriter(BodyFormat.TextPlain))
                {
                    textWriter.Write(value);
                }
            }
            catch (Exception ex)
            {
                AirSyncDiagnostics.TraceError <string>(ExTraceGlobals.XsoTracer, null, "CreateSubstituteDelegatedMeetingRequestMessage: exception thrown: {0}", ex.Message);
                if (messageItem != null)
                {
                    flag = true;
                }
                throw;
            }
            finally
            {
                if (flag)
                {
                    messageItem.Dispose();
                    messageItem = null;
                }
            }
            return(messageItem);
        }