code: public Object put(CacheKey key, Object value, boolean withReturnValue,  long lifespan)
     {
        CompressedISPNChangesBuffer changesContainer = getChangesBufferSafe();
        changesContainer.add(new PutObjectContainer(key, value, parentCache, changesContainer.getHistoryIndex(), local
           .get(), allowLocalChanges, lifespan));
  
        return withReturnValue ? parentCache.get(key) : null;
     }
docs: Put object in cache.
  @param key
  cache key
  @param value
  cache value
  @param  lifespan
  entry lifespan
  @param withReturnValue
  indicates if a return value is expected
  @return <code>null</code> if <code>withReturnValue</code> has been set to <code>false</code>
  the previous value otherwise