class Ip4Address {

    @Override
    public boolean equals(Object that) {

        if (that instanceof Ip4Address) {
            Ip4Address ip4 = (Ip4Address)that;
            return _addr.equals(ip4._addr) && (_mac == ip4._mac || _mac.equals(ip4._mac));
        } else {
            return false;
        }
    }

    public  Ip4Address(String addr, String mac);
    public  Ip4Address(long addr, long mac);
    public  Ip4Address(String addr);
    public  Ip4Address(long addr);

}