code: protected Spliterator<InternalCacheEntry<K, V>> filterExpiredEntries(Spliterator<InternalCacheEntry<K, V>> spliterator) {
        // This way we only read the wall clock time at the beginning
        long accessTime = timeService.wallClockTime();
        return new FilterSpliterator<>(spliterator, expiredIterationPredicate(accessTime));
     }
docs: Returns a new spliterator that will not return entries that have expired.
  @param spliterator the spliterator to filter expired entries out of
  @return new spliterator with expired entries filtered