@Override
    public long getValueHashCode(final ValueStoreHashAlgorithm valueStoreHashAlgorithm) {
        // Lazily compute the hash and hold for future use.
        // This will mostly be used during a load which is single threaded so no need to
        // avoid a synch at the risk of getting the same hash value twice.
        if (valueHash == null) {
            valueHash = valueStoreHashAlgorithm.hash(value);
        }
        return valueHash;
    }
MUST not change this else it is stored in the ref store. MUST be unique over all
{@link RefDataValue} impls.
stroom-pipeline/src/main/java/stroom/pipeline/refdata/store/StringValue.java