// Path: core/src/main/java/com/github/sdnwiselab/sdnwise/util/Utils.java
// public static int mergeBytes(final int high, final int low) {
//     int h = Byte.toUnsignedInt((byte) high);
//     int l = Byte.toUnsignedInt((byte) low);
//     return (h << Byte.SIZE) | l;
// }


import static com.github.sdnwiselab.sdnwise.util.Utils.mergeBytes;
import java.io.Serializable;


    /**
     * Gets the first Byte of a NodeAddress.
     *
     * @return a byte value of High Part of a NodeAddress.
     */
    public byte getHigh() {
        return addr[0];
    }

    /**
     * Gets the last Byte of a NodeAddress.
     *
     * @return a byte value of Low Part of a NodeAddress.
     */
    public byte getLow() {
        return addr[1];
    }

    @Override
    public int hashCode() {
        return Integer.valueOf(intValue()).hashCode();
    }

    /**
     * Returns the NodeAddress as an integer.
     *
     * @return int value of the NodeAddress.
     */
    public int intValue() {

// Path: core/src/main/java/com/github/sdnwiselab/sdnwise/util/Utils.java
// public static int mergeBytes(final int high, final int low) {
//     int h = Byte.toUnsignedInt((byte) high);
//     int l = Byte.toUnsignedInt((byte) low);
//     return (h << Byte.SIZE) | l;
// }


// Path: core/src/main/java/com/github/sdnwiselab/sdnwise/util/NodeAddress.java
import static com.github.sdnwiselab.sdnwise.util.Utils.mergeBytes;
import java.io.Serializable;


    /**
     * Gets the first Byte of a NodeAddress.
     *
     * @return a byte value of High Part of a NodeAddress.
     */
    public byte getHigh() {
        return addr[0];
    }

    /**
     * Gets the last Byte of a NodeAddress.
     *
     * @return a byte value of Low Part of a NodeAddress.
     */
    public byte getLow() {
        return addr[1];
    }

    @Override
    public int hashCode() {
        return Integer.valueOf(intValue()).hashCode();
    }

    /**
     * Returns the NodeAddress as an integer.
     *
     * @return int value of the NodeAddress.
     */
    public int intValue() {

        return mergeBytes(addr[0], addr[1]);
