static MessageItemRowNotificationHandler()
        {
            Shape[] shapes = new Shape[]
            {
                ItemShape.CreateShape(),
                    MessageShape.CreateShape(),
                    TaskShape.CreateShape()
            };
            ResponseShape responseShape = WellKnownShapes.ResponseShapes[WellKnownShapeName.MailListItem];

            MessageItemRowNotificationHandler.defaultSubscriptionProperties           = RowNotificationHandler.GetPropertyDefinitionsForResponseShape(shapes, responseShape, new PropertyDefinition[0]);
            MessageItemRowNotificationHandler.normalizedSubjectPropertyDefinition     = WellKnownProperties.NormalizedSubject.ToPropertyDefinition();
            MessageItemRowNotificationHandler.lastVerbExecutedPropertyDefinition      = WellKnownProperties.LastVerbExecuted.ToPropertyDefinition();
            MessageItemRowNotificationHandler.lastVerbExecutionTimePropertyDefinition = WellKnownProperties.LastVerbExecutionTime.ToPropertyDefinition();
        }
        private static PropertyDefinition[] GetSubscriptionProperties(IFeaturesManager featuresManager)
        {
            string            text = WellKnownShapeName.MailListItem.ToString();
            ItemResponseShape itemResponseShape = new ItemResponseShape();

            itemResponseShape.BaseShape = ShapeEnum.IdOnly;
            ItemResponseShape responseShape = Global.ResponseShapeResolver.GetResponseShape <ItemResponseShape>(text, itemResponseShape, featuresManager);

            if (responseShape == null)
            {
                ExTraceGlobals.NotificationsCallTracer.TraceError <string>((long)text.GetHashCode(), "[MessageItemRowNotificationHandler.GetSubscriptionProperties] Unable to resolve shapeName: {0} with features manager", text);
                return(MessageItemRowNotificationHandler.defaultSubscriptionProperties);
            }
            Shape[] shapes = new Shape[]
            {
                ItemShape.CreateShape(),
                    MessageShape.CreateShape(),
                    TaskShape.CreateShape()
            };
            return(RowNotificationHandler.GetPropertyDefinitionsForResponseShape(shapes, responseShape, new PropertyDefinition[0]));
        }