/// <summary>
        /// Constructor creates contained serializers
        /// </summary>
        /// <param name="resourceType">Resource type being serialized</param>
        /// <param name="value">Instance of <paramref name="resourceType"/></param>
        /// <param name="targetItem">SyndicationItem to which content will be added</param>
        /// <param name="provider">Data Service provider used for rights verification.</param>
        internal EpmContentSerializer(ResourceType resourceType, Object value, SyndicationItem targetItem, DataServiceProviderWrapper provider)
        {
            this.resourceType = resourceType;
            this.targetItem = targetItem;
            this.nullValuedProperties = new EpmNullValuedPropertyTree(provider, value);

            if (this.NeedEpmSerialization)
            {
                this.epmSyndicationSerializer = new EpmSyndicationContentSerializer(this.resourceType.EpmTargetTree, value, targetItem, this.nullValuedProperties);
                this.epmCustomSerializer = new EpmCustomContentSerializer(this.resourceType.EpmTargetTree, value, targetItem, this.nullValuedProperties, provider);
            }
        }
        /// <summary>
        /// Constructor creates contained serializers
        /// </summary>
        /// <param name="resourceType">Resource type being serialized</param>
        /// <param name="value">Instance of <paramref name="resourceType"/></param>
        /// <param name="targetItem">SyndicationItem to which content will be added</param>
        /// <param name="provider">Data Service provider used for rights verification.</param>
        internal EpmContentSerializer(ResourceType resourceType, Object value, SyndicationItem targetItem, DataServiceProviderWrapper provider)
        {
            this.resourceType         = resourceType;
            this.targetItem           = targetItem;
            this.nullValuedProperties = new EpmNullValuedPropertyTree(provider, value);

            if (this.NeedEpmSerialization)
            {
                this.epmSyndicationSerializer = new EpmSyndicationContentSerializer(this.resourceType.EpmTargetTree, value, targetItem, this.nullValuedProperties);
                this.epmCustomSerializer      = new EpmCustomContentSerializer(this.resourceType.EpmTargetTree, value, targetItem, this.nullValuedProperties, provider);
            }
        }