private bool SetBodySummary(IConversationTree conversationTree, ref IStorePropertyBag propertyBag, object summary, StoreObjectId storeId)
        {
            bool result = false;
            QueryResultPropertyBag queryResultPropertyBag = new QueryResultPropertyBag(propertyBag, ConversationDataExtractor.BodyPropertiesCanBeExtracted, new object[]
            {
                summary,
                summary
            });

            propertyBag = queryResultPropertyBag.AsIStorePropertyBag();
            IConversationTreeNode conversationTreeNode = null;

            conversationTree.TryGetConversationTreeNode(storeId, out conversationTreeNode);
            foreach (StoreObjectId storeObjectId in conversationTreeNode.ToListStoreObjectId())
            {
                if (storeObjectId.Equals(storeId))
                {
                    LoadedItemPart loadedItemPart;
                    if (this.loadedItemParts.TryGetValue(storeObjectId, out loadedItemPart))
                    {
                        loadedItemPart.AddBodySummary(summary);
                        result = true;
                    }
                    conversationTreeNode.UpdatePropertyBag(storeObjectId, propertyBag);
                }
            }
            return(result);
        }
 private MiniStateTreeNode(IConversationTreeNode conversationTreeNode, Func <StoreObjectId, long> idConverter, ICollection <IConversationTreeNode> nodesToExclude)
 {
     foreach (IConversationTreeNode conversationTreeNode2 in conversationTreeNode.ChildNodes)
     {
         if (nodesToExclude == null || !nodesToExclude.Contains(conversationTreeNode2))
         {
             this.ChildNodes.Add(new MiniStateTreeNode(conversationTreeNode2, idConverter, nodesToExclude));
         }
     }
     foreach (StoreObjectId arg in conversationTreeNode.ToListStoreObjectId())
     {
         try
         {
             long item = idConverter(arg);
             this.ItemIdHashes.Add(item);
         }
         catch (StoragePermanentException ex)
         {
             ExTraceGlobals.StorageTracer.TraceError(0L, ex.Message);
         }
     }
 }