/// <summary>
 /// Match record against list of addresses
 /// </summary>
 /// <param name="record"></param>
 /// <param name="addresses"></param>
 /// <param name="type"></param>
 /// <returns></returns>
 public static bool Matches(this INameRecord record, SocketAddressCollection addresses,
                            NameRecordType type) =>
 addresses.Addresses().Any(a => record.Matches(a, type));
 /// <summary>
 /// Match record against address and type
 /// </summary>
 /// <param name="record"></param>
 /// <param name="addresses"></param>
 /// <param name="type"></param>
 /// <returns></returns>
 public static bool Matches(this INameRecord record, IEnumerable <Reference> addresses,
                            NameRecordType type) =>
 addresses.Any(a => record.Matches(a, type));