@Override
    public StagingRefDataValue deserialize(final ByteBuffer byteBuffer) {
        final byte typeId = byteBuffer.get();
        final long valueHash = byteBuffer.getLong();
        // Need to hide the type/hash bit from the genericRefDataValueSerde so slice off the rest of the buffer
        final ByteBuffer valueBuffer = byteBuffer.slice();
        // Now we can rewind the original buffer
        byteBuffer.rewind();
        final RefDataValue refDataValue = genericRefDataValueSerde.deserialize(valueBuffer, typeId);
        // To save having to re-compute the hash later, set it on the value
//        refDataValue.setValueHashCode(valueHash);
        return new StagingRefDataValue(typeId, refDataValue);
    }
<pre>{@code
<type ID int><hash code long><value bytes................>
}</pre>
stroom-pipeline/src/main/java/stroom/pipeline/refdata/store/offheapstore/serdes/StagingRefDataValueSerde.java