code: protected VALUE write(ReadWriteLock lock, KEY key, VALUE value) {
  
      Lock writeLock = lock.writeLock();
  
      try {
        writeLock.lock();
        getCache().put(key, value);
  
        return value;
      }
      finally {
        writeLock.unlock();
      }
    }
docs: Writes the given {@link KEY key} and {@link VALUE value} to a new entry stored in the {@link Cache}.
  
  This {@link Cache} operation acquires a write lock.
  
  @param lock {@link ReadWriteLock} used to coordinate the {@link Cache} write (put) operation
  with possibly other concurrent {@link Cache} operations.
  @param key {@link KEY key} used to map the {@link VALUE value} in a new entry stored in the {@link Cache}.
  @param value {#link VALUE value} to write to the new entry stored in the {@link Cache}.
  @return the given {@link VALUE}.
  @see java.util.concurrent.locks.ReadWriteLock#writeLock()
  @see #getCache()