@SPITest
 public void testRemoveRemoves() throws LegalSPITesterException {
   try {
     K key = factory.createKey(8734L);
     store.put(key, factory.createValue(834L));
     StoreEventListener<K, V> listener = addListener(store);
     store.remove(key);
     verifyListenerInteractions(listener);
   } catch (StoreAccessException e) {
     throw new LegalSPITesterException("Warning, an exception is thrown due to the SPI test");
   }
 }
  private StoreEventListener<K, V> addListener(Store<K, V> kvStore) {
    @SuppressWarnings("unchecked")
    StoreEventListener<K, V> listener = mock(StoreEventListener.class);

    kvStore.getStoreEventSource().addEventListener(listener);
    return listener;
  }
  @SPITest
  public void testComputeRemoves() throws LegalSPITesterException {

    try {
      K key = factory.createKey(125L);
      store.put(key, factory.createValue(125L));
      StoreEventListener<K, V> listener = addListener(store);
      store.compute(
          key,
          new BiFunction<K, V, V>() {
            @Override
            public V apply(K k, V v) {
              return null;
            }
          });
      verifyListenerInteractions(listener);
    } catch (StoreAccessException e) {
      throw new LegalSPITesterException("Warning, an exception is thrown due to the SPI test");
    }
  }