public MemoryLRUCacheBytesIterator reverseRange(final String namespace, final Bytes from, final Bytes to) {
        final NamedCache cache = getCache(namespace);
        if (cache == null) {
            return new MemoryLRUCacheBytesIterator(Collections.emptyIterator(), new NamedCache(namespace, this.metrics));
        }
        return new MemoryLRUCacheBytesIterator(cache.reverseKeyRange(from, to), cache);
    }
@Test
    public void shouldPeekNextKeyReverseRange() {
        final ThreadCache cache = setupThreadCache(1, 1, 10000L, true);
        final Bytes theByte = Bytes.wrap(new byte[]{1});
        final ThreadCache.MemoryLRUCacheBytesIterator iterator = cache.reverseRange(namespace, Bytes.wrap(new byte[]{0}), theByte);
        assertThat(iterator.peekNextKey(), is(theByte));
        assertThat(iterator.peekNextKey(), is(theByte));
    }