@Override
 public Object visitPutKeyValueCommand(InvocationContext ctx, PutKeyValueCommand command)
     throws Throwable {
   Object returnValue = invokeNextInterceptor(ctx, command);
   Object key = command.getKey();
   if (skip(ctx, key, command) || ctx.isInTxScope() || !command.isSuccessful()) return returnValue;
   InternalCacheEntry se = getStoredEntry(key, ctx);
   store.store(se);
   log.tracef("Stored entry %s under key %s", se, key);
   if (getStatisticsEnabled()) cacheStores.incrementAndGet();
   return returnValue;
 }