private SerializableRunnableIF repeatingIfNecessary(SerializableRunnableIF runnable) {
    return repeatingIfNecessary(getRepeatTimeoutMs(), runnable);
  }
Decorates the given runnable to make it repeat every {@link #POLL_INTERVAL_MILLIS} until either
it terminates without throwing or the test's repeat timeout expires. If the test's repeat
timeout (obtained by calling {@link #getRepeatTimeoutMs()}) is less than or equal to {@code
POLL_INTERVAL_MILLIS}, the given runnable is returned undecorated.

@param runnable the runnable to run
geode-dunit/src/main/java/org/apache/geode/cache30/MultiVMRegionTestCase.java