class ByteUtil {

    public static long packLongWithUnsignedShortInts(final int int1, final int int2, final int int3, final int int4)
    {
        checkUnsignedShort(int1);
        checkUnsignedShort(int2);
        checkUnsignedShort(int3);
        checkUnsignedShort(int4);

        return ((int1 & 0xFFFFL) << 48) +
                ((int2 & 0xFFFFL) << 32) +
                ((int3 & 0xFFFFL) << 16) +
                (int4 & 0xFFFFL);
    }

}