private void SetOnlineConfiguration()
        {
            string uriString = Datacenter.IsGallatinDatacenter() ? GetIntraOrganizationConfiguration.GallatinAutoDiscoveryEndpoint : GetIntraOrganizationConfiguration.ProdAutoDiscoveryEndpoint;

            this.configuration.OnlineDiscoveryEndpoint = new Uri(uriString);
            IConfigurationSession configurationSession = base.DataSession as IConfigurationSession;

            AcceptedDomain[]      source = configurationSession.Find <AcceptedDomain>(base.CurrentOrganizationId.ConfigurationUnit, QueryScope.SubTree, null, null, 0);
            List <AcceptedDomain> list   = (from domain in source
                                            where domain.IsCoexistenceDomain
                                            select domain).ToList <AcceptedDomain>();

            if (list.Count == 1)
            {
                this.configuration.OnlineTargetAddress = list.First <AcceptedDomain>().DomainName.ToString();
            }
            else if (list.Count > 1)
            {
                base.ThrowTerminatingError(new MultipleCoexistenceDomainsFoundException(), ErrorCategory.InvalidData, null);
            }
            QueryFilter filter = null;

            if (this.OrganizationGuid != null)
            {
                Guid guid;
                if (Guid.TryParse(this.OrganizationGuid.ToString(), out guid))
                {
                    filter = new ComparisonFilter(ComparisonOperator.Equal, OnPremisesOrganizationSchema.OrganizationGuid, guid);
                }
                else
                {
                    base.ThrowTerminatingError(new ArgumentException(Strings.InvalidOrganizationGuid(this.OrganizationGuid.ToString())), ErrorCategory.InvalidData, null);
                }
            }
            OnPremisesOrganization[] source2 = configurationSession.Find <OnPremisesOrganization>(base.CurrentOrganizationId.ConfigurationUnit, QueryScope.SubTree, filter, null, 0);
            int num = source2.Count <OnPremisesOrganization>();

            if (num == 1)
            {
                this.configuration.OnPremiseTargetAddresses = source2.First <OnPremisesOrganization>().HybridDomains;
                return;
            }
            if (num > 1)
            {
                base.ThrowTerminatingError(new MultipleOnPremisesOrganizationsFoundException(), ErrorCategory.ObjectNotFound, null);
                return;
            }
            this.WriteWarning(Strings.OnPremisesConfigurationObjectNotFound);
        }