internal static object RecipientDomainsGetter(IPropertyBag propertyBag)
        {
            MultiValuedProperty <SmtpDomainWithSubdomains> multiValuedProperty = null;
            MultiValuedProperty <string> multiValuedProperty2 = (MultiValuedProperty <string>)propertyBag[TenantOutboundConnectorSchema.RecipientDomains];

            if (multiValuedProperty2 != null)
            {
                multiValuedProperty = new MultiValuedProperty <SmtpDomainWithSubdomains>();
                foreach (string text in multiValuedProperty2)
                {
                    SmtpDomainWithSubdomains smtpDomainWithSubdomains = null;
                    if (!SmtpDomainWithSubdomains.TryParse(text, out smtpDomainWithSubdomains))
                    {
                        AddressSpace addressSpace = null;
                        if (AddressSpace.TryParse(text, out addressSpace) && addressSpace.IsSmtpType)
                        {
                            smtpDomainWithSubdomains = addressSpace.DomainWithSubdomains;
                        }
                    }
                    if (smtpDomainWithSubdomains != null)
                    {
                        multiValuedProperty.Add(smtpDomainWithSubdomains);
                    }
                }
            }
            return(multiValuedProperty);
        }
        internal static List <AddressSpace> GetSenderDomainsFromString(string senderDomainString)
        {
            List <AddressSpace> list = new List <AddressSpace>();

            if (!string.IsNullOrEmpty(senderDomainString))
            {
                string[] array = senderDomainString.Split(new char[]
                {
                    TenantInboundConnector.senderDomainsDelimiter
                });
                foreach (string address in array)
                {
                    AddressSpace item = null;
                    if (!AddressSpace.TryParse(address, out item))
                    {
                        return(new List <AddressSpace>());
                    }
                    list.Add(item);
                }
            }
            return(list);
        }