private static SerializableRunnableIF repeatingIfNecessary(long timeoutMillis,
      SerializableRunnableIF runnable) {
    if (timeoutMillis > POLL_INTERVAL_MILLIS) {
      return () -> await()
          .untilAsserted(runnable::run);
    }
    return runnable;
  }
Decorates the given runnable to make it repeat every {@link #POLL_INTERVAL_MILLIS} until either
it terminates without throwing or the given timeout expires. If the timeout is less than or
equal to {@code POLL_INTERVAL_MILLIS}, the given runnable is returned undecorated.

@param timeoutMillis the maximum length of time (in milliseconds) to repeat the runnable
@param runnable the runnable to run
geode-dunit/src/main/java/org/apache/geode/cache30/MultiVMRegionTestCase.java