@SuppressWarnings("unchecked")
@Test
public void shouldNotInvalidateFromAnotherCacheWhenItemFetched() throws Exception {

    // a get in one cache does nothing to the other
    Mache<String, TestEntity> cache1 = observableCacheFactory1.createCache(
            macheFactory.create(String.class, TestEntity.class, cacheLoader1));
    /* insert data into loader and ensure it is within cache */
    cache1.put(testValue2.pkey, testValue2);
    assertNotNull(cache1.get(testValue2.pkey));
    /* reset mocks */
    reset(spiedCache1);
    /* pull it into 2nd cache (this should NOT affect any other cache*/
    Mache<String, TestEntity> cache2 = observableCacheFactory2.createCache(
        macheFactory.create(String.class, TestEntity.class, cacheLoader1));
    assertNotNull(cache2.get(testValue2.pkey));
    verify(spiedCache1, never()).invalidate(testValue2.pkey);
}