@Override
    public void release(String permitId) {
        get(releaseAsync(permitId));
    }
@Test
    public void testRelease() throws InterruptedException {
        RPermitExpirableSemaphore semaphore = redisson.getPermitExpirableSemaphore("test");
        semaphore.trySetPermits(10);

        List<String> permitsIds = semaphore.acquire(6);
        assertThat(permitsIds).hasSize(6);
        assertThat(semaphore.availablePermits()).isEqualTo(4);

        List<String> permitsIdsFirstPart = permitsIds.subList(0, 4);
        semaphore.release(permitsIdsFirstPart);
        assertThat(semaphore.availablePermits()).isEqualTo(8);

        List<String> permitsIdsSecondPart = permitsIds.subList(4, 6);
        semaphore.release(permitsIdsSecondPart);
        assertThat(semaphore.availablePermits()).isEqualTo(10);

        Assertions.assertThrows(RedisException.class, () -> semaphore.release(permitsIds));
    }