private static CachableThrottlingPolicyItem ResolveOrganizationThrottlingPolicy(object obj, OrganizationId organizationId)
        {
            SharedConfiguration sharedConfiguration = SharedConfiguration.GetSharedConfiguration(organizationId);

            if (sharedConfiguration != null)
            {
                organizationId = sharedConfiguration.SharedConfigId;
            }
            ThrottlingPolicy throttlingPolicy = ThrottlingPolicyCache.ReadThrottlingPolicyFromAD(ThrottlingPolicyCache.GetSession(organizationId), organizationId, (IConfigurationSession session1, object id) => session1.GetOrganizationThrottlingPolicy((OrganizationId)id));

            return(new CachableThrottlingPolicyItem((throttlingPolicy == null) ? ThrottlingPolicyCache.Singleton.GetGlobalThrottlingPolicy() : throttlingPolicy.GetEffectiveThrottlingPolicy(true)));
        }
            private IThrottlingPolicy ResolveGlobalThrottlingPolicy()
            {
                ThrottlingPolicy throttlingPolicy = null;

                if (!this.disposed)
                {
                    throttlingPolicy = ThrottlingPolicyCache.ReadThrottlingPolicyFromAD(this.session, null, (IConfigurationSession session1, object id) => ((ITopologyConfigurationSession)session1).GetGlobalThrottlingPolicy());
                }
                if (throttlingPolicy != null)
                {
                    return(throttlingPolicy.GetEffectiveThrottlingPolicy(false));
                }
                return(FallbackThrottlingPolicy.GetSingleton());
            }
        private static CachableThrottlingPolicyItem ResolveThrottlingPolicy(object obj, OrgAndObjectId orgAndObjectId)
        {
            ThrottlingPolicy throttlingPolicy = null;

            if (orgAndObjectId.Id.IsDeleted)
            {
                Globals.LogEvent(DirectoryEventLogConstants.Tuple_DeletedThrottlingPolicyReferenced, orgAndObjectId.ToString(), new object[]
                {
                    orgAndObjectId
                });
            }
            else
            {
                throttlingPolicy = ThrottlingPolicyCache.ReadThrottlingPolicyFromAD(ThrottlingPolicyCache.GetSession(orgAndObjectId.OrganizationId), orgAndObjectId.Id, (IConfigurationSession session1, object id) => session1.Read <ThrottlingPolicy>((ADObjectId)id));
            }
            return(new CachableThrottlingPolicyItem((throttlingPolicy == null) ? ThrottlingPolicyCache.Singleton.Get(orgAndObjectId.OrganizationId) : throttlingPolicy.GetEffectiveThrottlingPolicy(true)));
        }