public static boolean containsPrefix(final ByteBuffer buffer, final ByteBuffer prefixBuffer) {
        boolean result = true;
        if (buffer.remaining() < prefixBuffer.remaining()) {
            result = false;
        } else {
            for (int i = 0; i < prefixBuffer.remaining(); i++) {
                if (prefixBuffer.get(i) != buffer.get(i)) {
                    result = false;
                    break;
                }
            }
        }
//        boolean result2 = result;
//        LOGGER.trace(() -> LogUtil.message("containsPrefix({} {}) returns {}",
//                ByteBufferUtils.byteBufferInfo(buffer), ByteBufferUtils.byteBufferInfo(prefixBuffer), result2));
        return result;
    }
Compare two {@link ByteBuffer} objects as if they are int

@param left  A {@link ByteBuffer} representing a int
@param right A {@link ByteBuffer} representing a int
@return The result of the comparison, 0 if identical, <0 if left < right,
>0 if left < right
stroom-bytebuffer/src/main/java/stroom/bytebuffer/ByteBufferUtils.java