/// <summary>
        /// Sends the metadata describing the list items in a growing object.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="metadata">The parts metadata.</param>
        /// <returns>The message identifier.</returns>
        public long PartsMetadata(IMessageHeader request, PartsMetadata metadata)
        {
            var header = CreateMessageHeader(Protocols.GrowingObject, MessageTypes.GrowingObject.PartsMetadata, request.MessageId);

            if (metadata.CustomData == null)
            {
                metadata.CustomData = new Dictionary <string, DataValue>();
            }

            return(Session.SendMessage(header, metadata));
        }
 /// <summary>
 /// Handles the PartsMetadata message from a store.
 /// </summary>
 /// <param name="header">The message header.</param>
 /// <param name="message">The PartsMetadata message.</param>
 protected virtual void HandlePartsMetadata(IMessageHeader header, PartsMetadata message)
 {
     Metadata = message;
     Notify(OnPartsMetadata, header, message);
 }