public static Field randomValueField(final String name, final List<String> values) {
        try {
            Objects.requireNonNull(values);
            Utils.checkArgument(!values.isEmpty(), "values is empty");
            return new Field(name, (random, ignoredFaker) ->
                    values.get(random.nextInt(values.size())));
        } catch (Exception e) {
            throw new RuntimeException(
                    Utils.message("Error building randomValueField, {}, {}", name, e.getMessage()), e);
        }
    }
{@link Field} that supplies a random value from values on each call to getNext()

@param name   Field name for use in the header
@param values The values to randomly select from when delivering values
@return A complete {@link Field}
stroom-test-common/src/main/java/stroom/test/common/data/DataGenerator.java