public MessageContext Read(object message, Type contenttype, bool useclaimcheck, IdentityConfiguration identityconfiguration = null) { var context = Read(message); context.ContentType = contenttype; if (identityconfiguration?.OperationIdBuilder != null) { context.Identity.OperationId = identityconfiguration?.OperationIdBuilder(context); } if (identityconfiguration?.ParentIdBuilder != null) { context.Identity.ParentId = identityconfiguration?.ParentIdBuilder(context); } if (identityconfiguration?.IdBuilder != null) { context.Identity.Id = identityconfiguration?.IdBuilder(context); } if (useclaimcheck && !string.IsNullOrWhiteSpace(context.ContentId)) { var storage = Factory.Create <IMessageStorage>(Configuration.MessageStorageType); context.Content = storage.Read(context.ContentId); } else { context.Content = GetContent(message); } return(context); }