@SuppressWarnings("unused")
        public CasesBuilder<I, O> withNameFunction(final Function<TestCase<I, O>, String> nameFunction) {
            this.nameFunction = Objects.requireNonNull(nameFunction);
            return this;
        }
Replace the default test case naming function with the supplied {@code nameFunction}
that generates a name from a {@link TestCase}. The default name function basically
does a toString() on {@link TestCase#getInput()}.
A name explicitly set on {@link TestCase} will override any name function.
The name is appended to the case number, e.g. if name is 'foo' then the test name will be
something like "{@code 03 foo}".
stroom-test-common/src/main/java/stroom/test/common/DynamicTestBuilder.java