private bool HandleSupportedSharedConfigurationsProperty(TenantRelocationSyncObject obj, ModifyRequest modRequest, UpdateData mData, TenantRelocationSyncData syncData, ITopologyConfigurationSession targetPartitionSession)
        {
            if (!TenantRelocationConfigImpl.GetConfig <bool>("TranslateSupportedSharedConfigurations"))
            {
                return(false);
            }
            DirectoryAttributeModification   directoryAttributeModification = null;
            MultiValuedProperty <ADObjectId> multiValuedProperty            = (MultiValuedProperty <ADObjectId>)obj[OrganizationSchema.SupportedSharedConfigurations];
            MultiValuedProperty <ADObjectId> multiValuedProperty2;

            if (multiValuedProperty != null && multiValuedProperty.Count > 0)
            {
                OrganizationId organizationId = syncData.Source.OrganizationId;
                Exception      ex;
                OrganizationId organizationId2 = SharedConfiguration.FindMostRecentSharedConfigurationInPartition(organizationId, syncData.Target.PartitionId, out ex);
                if (ex != null)
                {
                    throw ex;
                }
                directoryAttributeModification = this.GetDirectoryAttributeModification(DirectoryAttributeOperation.Add);
                directoryAttributeModification.Add(organizationId2.ConfigurationUnit.DistinguishedName);
                modRequest.Modifications.Add(directoryAttributeModification);
            }
            else if (this.TryGetSupportedSharedConfigurations(targetPartitionSession, modRequest.DistinguishedName, syncData, out multiValuedProperty2) && multiValuedProperty2 != null && multiValuedProperty2.Count > 0)
            {
                directoryAttributeModification = this.GetDirectoryAttributeModification(DirectoryAttributeOperation.Delete);
                foreach (ADObjectId adobjectId in multiValuedProperty2)
                {
                    directoryAttributeModification.Add(adobjectId.DistinguishedName);
                }
                modRequest.Modifications.Add(directoryAttributeModification);
            }
            if (directoryAttributeModification != null)
            {
                ExTraceGlobals.TenantRelocationTracer.TraceDebug <string, DirectoryAttributeOperation>((long)this.GetHashCode(), "GenerateModifyRequestLinkMetaDataHandler: add item: attribute {0}, op:{1}", directoryAttributeModification.Name, directoryAttributeModification.Operation);
                return(true);
            }
            return(false);
        }
        public bool HandleObject(TenantRelocationSyncObject obj, ModifyRequest modRequest, UpdateData mData, TenantRelocationSyncData syncData, ITopologyConfigurationSession targetPartitionSession)
        {
            bool flag = false;

            return(flag | this.HandleSupportedSharedConfigurationsProperty(obj, modRequest, mData, syncData, targetPartitionSession));
        }