@Override
    public Map<StreamMessageId, Map<K, V>> pendingRange(String groupName, StreamMessageId startId, StreamMessageId endId, long idleTime, TimeUnit idleTimeUnit, int count) {
        return get(pendingRangeAsync(groupName, startId, endId, idleTime, idleTimeUnit, count));
    }
@Test
    public void testPendingRange() {
        RStream<String, String> stream = redisson.getStream("test");

        stream.add(StreamAddArgs.entry("0", "0"));

        stream.createGroup(StreamCreateGroupArgs.name("testGroup"));

        StreamMessageId id1 = stream.add(StreamAddArgs.entry("11", "12"));
        StreamMessageId id2 = stream.add(StreamAddArgs.entry("21", "22"));
        
        Map<StreamMessageId, Map<String, String>> s = stream.readGroup("testGroup", "consumer1", StreamReadGroupArgs.neverDelivered());
        assertThat(s.size()).isEqualTo(2);
        
        Map<StreamMessageId, Map<String, String>> pres = stream.pendingRange("testGroup", StreamMessageId.MIN, StreamMessageId.MAX, 10);
        assertThat(pres.keySet()).containsExactly(id1, id2);
        assertThat(pres.get(id1)).isEqualTo(Collections.singletonMap("11", "12"));
        assertThat(pres.get(id2)).isEqualTo(Collections.singletonMap("21", "22"));
        
        Map<StreamMessageId, Map<String, String>> pres2 = stream.pendingRange("testGroup", "consumer1", StreamMessageId.MIN, StreamMessageId.MAX, 10);
        assertThat(pres2.keySet()).containsExactly(id1, id2);
        assertThat(pres2.get(id1)).isEqualTo(Collections.singletonMap("11", "12"));
        assertThat(pres2.get(id2)).isEqualTo(Collections.singletonMap("21", "22"));
        
        Map<StreamMessageId, Map<String, String>> pres3 = stream.pendingRange("testGroup", "consumer2", StreamMessageId.MIN, StreamMessageId.MAX, 10);
        assertThat(pres3).isEmpty();
    }