public static <K, V> void assertNoEvents(FunctionalListeners<K, V> listeners, Runnable r) {
   withAssertions(listeners, r, a -> a.assertOrderedEvents(new ArrayList<>()));
 }
 public static <K, V> void assertNoEvents(Cache<K, V> cache, Runnable r) {
   withAssertions(cache, r, a -> a.assertOrderedEvents(new ArrayList<>()));
 }
 public static <K, V> void assertNoEvents(ConcurrentMap<K, V> map, Runnable r) {
   withAssertions(map, r, a -> a.assertOrderedEvents(new ArrayList<>()));
 }
 public static <K, V> void assertUnorderedEvents(
     FunctionalListeners<K, V> listeners, Runnable r, Collection<TestEvent<V>> expected) {
   withAssertions(listeners, r, a -> a.assertUnorderedEvents(expected));
 }
 public static <K, V> void assertUnorderedEvents(
     Cache<K, V> cache, Runnable r, Collection<TestEvent<V>> expected) {
   withAssertions(cache, r, a -> a.assertUnorderedEvents(expected));
 }
 public static <K, V> void assertUnorderedEvents(
     ConcurrentMap<K, V> map, Runnable r, Collection<TestEvent<V>> expected) {
   withAssertions(map, r, a -> a.assertUnorderedEvents(expected));
 }