public static byte[] byteBufferToArray(ByteBuffer buf) {
        byte[] arr = new byte[buf.remaining()];
        int prevPosition = buf.position();
        try {
            buf.get(arr);
        } finally {
            buf.position(prevPosition);
        }
        return arr;
    }
@Test
    public void testByteBufferToArray() {
        assertArrayEquals(new byte[]{1, 2, 3},
            MessageUtil.byteBufferToArray(ByteBuffer.wrap(new byte[]{1, 2, 3})));
        assertArrayEquals(new byte[]{},
            MessageUtil.byteBufferToArray(ByteBuffer.wrap(new byte[]{})));
    }