internal static ItemOperationsRequest CreateItemOpsRequestForCalendarItem(string messageId, string folderId)
        {
            ItemOperationsRequest itemOperationsRequest = EasRequestGenerator.CreateItemOpsRequest(messageId, folderId);

            itemOperationsRequest.Fetches[0].Options.BodyPreference = new BodyPreference
            {
                Type           = new byte?(1),
                AllOrNone      = new bool?(true),
                TruncationSize = new uint?(10000U)
            };
            return(itemOperationsRequest);
        }
        internal Properties FetchMessageItem(string messageId, string folderId)
        {
            ItemOperationsRequest  itemOperationsRequest = EasRequestGenerator.CreateItemOpsRequest(messageId, folderId);
            ItemOperationsResponse response = this.ItemOperations(itemOperationsRequest);
            ItemOperationsStatus   status;
            Properties             messageProperties = response.GetMessageProperties(0, out status);

            EasConnectionWrapper.WrapException(delegate()
            {
                response.ThrowIfStatusIsFailed(status);
            }, (ConnectionsTransientException e) => new EasFetchFailedTransientException(e.Message, e), (ConnectionsPermanentException e) => new EasFetchFailedPermanentException(e.Message, e));
            return(messageProperties);
        }