@Override
        public String explainFailure() {
          final Description description = new StringDescription().appendText(reason)
            .appendText("\nExpected: ").appendDescriptionOf(matcher).appendText("\n     but: ");
          matcher.describeMismatch(lastValue, description);
          return description.toString();
        }
Repeatedly evaluates {@code matcher} against the result of calling {@code actualSupplier} until
the matcher succeeds or the timeout period of 30 seconds is exhausted.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestRegionNormalizerWorker.java