public boolean equals(Object o) {
        if (! (o instanceof IPAddressAttribute))
            return false;

        IPAddressAttribute other = (IPAddressAttribute)o;

        if (! address.equals(other.address))
            return false;

        if (mask != null) {
            if (other.mask == null)
                return false;

            if (! mask.equals(other.mask))
                return false;
        } else {
            if (other.mask != null)
                return false;
        }

        if (! range.equals(other.range))
            return false;

        return true;
    }