internal override DnsResourceData CreateInstance(DataSegment data)
        {
            List <DnsAddressPrefix> list = new List <DnsAddressPrefix>();
            DnsAddressPrefix        dnsAddressPrefix;

            for (; data.Length != 0; data = data.Subsegment(dnsAddressPrefix.Length, data.Length - dnsAddressPrefix.Length))
            {
                dnsAddressPrefix = DnsAddressPrefix.Read(data);
                if (dnsAddressPrefix == null)
                {
                    return((DnsResourceData)null);
                }
                list.Add(dnsAddressPrefix);
            }
            return((DnsResourceData) new DnsResourceDataAddressPrefixList((IList <DnsAddressPrefix>)list));
        }
        internal override DnsResourceData CreateInstance(DataSegment data)
        {
            List <DnsAddressPrefix> items = new List <DnsAddressPrefix>();

            while (data.Length != 0)
            {
                DnsAddressPrefix item = DnsAddressPrefix.Read(data);
                if (item == null)
                {
                    return(null);
                }
                items.Add(item);
                data = data.Subsegment(item.Length, data.Length - item.Length);
            }

            return(new DnsResourceDataAddressPrefixList(items));
        }