public static Field randomEmojiField(final String name, final List<Integer> codePoints) {
        Objects.requireNonNull(codePoints);
        Utils.checkArgument(!codePoints.isEmpty(), "codePoints is empty");
        try {
            final ValueFunction valueFunction = (random, ignoredFaker) -> {
                final int codePoint = codePoints.get(random.nextInt(codePoints.size()));
                return new StringBuilder().appendCodePoint(codePoint).toString();
            };
            return new Field(name, valueFunction);
        } catch (Exception e) {
            throw new RuntimeException(
                    Utils.message("Error building randomEmojiField, {}, {}", name, e.getMessage()), e);
        }
    }
{@link Field} that supplies a random emoji from the supplied list on each call to getNext()

@param name       Field name for use in the header
@param codePoints A list of code points for the emojis to include.
@return A complete {@link Field}
stroom-test-common/src/main/java/stroom/test/common/data/DataGenerator.java