public virtual SyncRecipient CreatePlaceHolder()
        {
            SyncRecipient syncRecipient = (SyncRecipient)SyncObject.CreateBlankObjectByClass(this.ObjectClass, SyncDirection.Forward);

            syncRecipient[SyncObjectSchema.ObjectId]  = base.ObjectId;
            syncRecipient[SyncObjectSchema.ContextId] = base.ContextId;
            if (this.IsDirSynced.HasValue)
            {
                syncRecipient[SyncRecipientSchema.IsDirSynced] = this.IsDirSynced;
            }
            if (this.OnPremisesObjectId.HasValue)
            {
                syncRecipient[SyncRecipientSchema.OnPremisesObjectId] = this.OnPremisesObjectId;
            }
            return(syncRecipient);
        }
        public SyncRecipient CreateObjectWithMinimumForwardSyncPropertySet()
        {
            SyncRecipient syncRecipient = (SyncRecipient)SyncObject.CreateBlankObjectByClass(this.ObjectClass, SyncDirection.Forward);

            syncRecipient[SyncObjectSchema.ObjectId]  = base.ObjectId;
            syncRecipient[SyncObjectSchema.ContextId] = base.ContextId;
            IDictionary <SyncPropertyDefinition, object> changedProperties = base.GetChangedProperties();

            foreach (SyncPropertyDefinition syncPropertyDefinition in this.MinimumForwardSyncProperties)
            {
                object value = null;
                if (changedProperties.TryGetValue(syncPropertyDefinition, out value))
                {
                    syncRecipient[syncPropertyDefinition] = value;
                }
            }
            return(syncRecipient);
        }