public DefinitionBuilder addFieldDefinition(final Field fieldDefinition) {
            boolean isNamedAlreadyUsed = fieldDefinitions.stream()
                    .map(Field::getName)
                    .anyMatch(Predicate.isEqual(fieldDefinition.getName()));
            Utils.checkArgument(!isNamedAlreadyUsed,
                    () -> Utils.message("Name [{}] is already in use", fieldDefinition.getName()));

            fieldDefinitions.add(Objects.requireNonNull(fieldDefinition));
            return this;
        }
Holder class for the static class names list to allow for lazy initialisation
stroom-test-common/src/main/java/stroom/test/common/data/DataGenerator.java