public static EndPoint ToEndpoint(this Address address)
{
if (address == null || address.Host == null || !address.Port.HasValue)
throw new ArgumentException("Invalid address", "address");
return new DnsEndPoint(address.Host, address.Port.Value, AddressFamily.InterNetwork);
}
}