class InetAddressBlock {

    public boolean contains(InetAddress address) {
        byte[] addressBytes = address.getAddress();

        if (addressBytes.length != this.bytes.length) {
            return false;
        }

        int k;

        for (k = 0; k < this.nbytes; k++) {
            if (addressBytes[k] != this.bytes[k]) {
                return false;
            }
        }

        if (this.mask != (byte)0xff) {
            return (addressBytes[k] & this.mask) == (this.bytes[k] & this.mask);
        }

        return true;
    }

    public  InetAddressBlock(InetAddress address, int bits);

}