public static <T> void waitForIt(final Supplier<T> valueSupplier,
                                     final T requiredValue,
                                     final Supplier<String> messageSupplier) {
        waitForIt(
                valueSupplier,
                requiredValue,
                messageSupplier,
                Duration.ofMinutes(1),
                Duration.ofMillis(1),
                Duration.ofSeconds(1));
    }
Repeatedly call test with pollFrequency until it returns true, or timeout is reached.
If timeout is reached before test returns true a {@link RuntimeException} is thrown.
A default timeout of 5s is used with a default pollFrequency of 1ms.

@param valueSupplier   Supplier of the value to test. This will be called repeatedly until
                       its return value match requiredValue, or timeout is reached.
@param requiredValue   The value that valueSupplier is required to ultimately return.
@param messageSupplier Supplier of the name of the thing being waited for.
stroom-test-common/src/main/java/stroom/test/common/TestUtil.java