public static UID extractUid(final ByteBuffer byteBuffer, final int position) {
        // create a buffer that only covers the UID part, to allow for de-serialising a UID
        // from a buffer that contains other data

        final ByteBuffer dupBuffer = byteBuffer.slice(position, UID.UID_ARRAY_LENGTH);
        dupBuffer.limit(position + UID.UID_ARRAY_LENGTH);

        final UID uid = UID.wrap(dupBuffer);
        // no need to flip as we are just wrapping the original buffer
        return uid;
    }
Reads a {@link UID} from the passed {@link ByteBuffer} and position.
The passed {@link ByteBuffer} is not muted in the process.
The returned buffer is just a view onto part of the original buffer.
stroom-pipeline/src/main/java/stroom/pipeline/refdata/store/offheapstore/serdes/UIDSerde.java