@Test
public void testCachesCalls() throws Throwable {

  // Initial load
  var a = sut.get();
  assertThat(a, is(INITIAL_VALUE));
  verify(delegate, times(1)).get();
  // Make underlying supplier return new value
  lenient().when(delegate.get()).thenReturn(NEW_VALUE);
  // Should still get initial value here
  var b = sut.get();
  assertThat(b, is(INITIAL_VALUE));
  // Verify there were no additional calls to the underlying supplier
  verifyNoMoreInteractions(delegate);
}