 
     /// First IP Address in array of ip addresses, if any.
     public var ipAddress: String? {
-        if socketAddresses.count == 0 {
-            return nil
-        }
-
         return socketAddresses.first?.stringValue
     }
 
     /// First hostname value in the array of hostnames, if any.
     public var hostname: String? {
-        if hostnames.count == 0 {
-            return nil
-        }
-
         return hostnames.first
     }
 

    /// All addresses associated with the host. If created with an IP Address we'll usually only have one
    public var ipAddresses: [String] {
        var ipAddresses = [String]()
        for socketAddress in socketAddresses {
            if let ipAddress = socketAddress.stringValue {
                ipAddresses.append(ipAddress)

/// Container for hostnames and IP addresses. Can be created using a hostname, IPv4, or IPv6 addres.
public class Host {

    /// The actual SocketAddress objects for the host
    private(set) var socketAddresses: [SocketAddress] = [SocketAddress]()

    /// Single socketAddress accessor, returns the first socketAddress
    public var socketAddress: SocketAddress? {
        return socketAddresses.first
    }

    // MARK: Hostname and ip address arrays

