@Override
    Windowed<Bytes> deserializeCacheKey(final Bytes cacheKey) {
        final byte[] binaryKey = cacheFunction.key(cacheKey).get();
        final byte[] keyBytes = SessionKeySchema.extractKeyBytes(binaryKey);
        final Window window = SessionKeySchema.extractWindow(binaryKey);
        return new Windowed<>(Bytes.wrap(keyBytes), window);
    }
Merges two iterators. Assumes each of them is sorted by key
streams/src/main/java/org/apache/kafka/streams/state/internals/MergedSortedCacheSessionStoreIterator.java