internal override DnsResourceData CreateInstance(DataSegment data)
        {
            if (data.Length < ConstantPartLength)
                return null;

            DataSegment areaAddress = data.Subsegment(Offset.AreaAddress, MinAreaAddressLength + data.Length - ConstantPartLength);

            int afterAreaOffset = areaAddress.Length;
            UInt48 systemIdentifier = data.ReadUInt48(afterAreaOffset + OffsetAfterArea.SystemIdentifier, Endianity.Big);
            byte selector = data[afterAreaOffset + OffsetAfterArea.Selector];

            return new DnsResourceDataNetworkServiceAccessPoint(areaAddress, systemIdentifier, selector);
        }
        internal override DnsResourceData CreateInstance(DataSegment data)
        {
            if (data.Length < 8)
            {
                return((DnsResourceData)null);
            }
            DataSegment areaAddress      = data.Subsegment(0, 1 + data.Length - 8);
            int         length           = areaAddress.Length;
            UInt48      systemIdentifier = data.ReadUInt48(length, Endianity.Big);
            byte        selector         = data[length + 6];

            return((DnsResourceData) new DnsResourceDataNetworkServiceAccessPoint(areaAddress, systemIdentifier, selector));
        }