public void notifyCacheEntryInvalidated(final Object key, Object value, final boolean pre, InvocationContext ctx) {
if (!cacheEntryInvalidatedListeners.isEmpty()) {
final boolean originLocal = ctx.isOriginLocal();
InvocationContext contexts = icc.suspend();
try {
EventImpl e = new EventImpl();
e.setCache(cache);
e.setOriginLocal(originLocal);
e.setPre(pre);
e.setKey(key);
e.setValue(value);
setTx(ctx, e);
e.setType(CACHE_ENTRY_INVALIDATED);
for (ListenerInvocation listener : cacheEntryInvalidatedListeners) {
listener.invoke(e);
}
} finally {
icc.resume(contexts);