@Test
void should_be_not_locked_when_callable_key_is_not_same() throws Exception {

    doAnswer(new AnswersWithDelay(100, new Returns(1))).when(source).get("1");
    doReturn(2).when(source).get("2");
    doReturn(1).when(callable).call();
    Executors.newFixedThreadPool(1).submit(() -> cache.get(1, callable));
    assertTimeoutPreemptively(ofMillis(20), () -> cache.get(2, callable));
}