jodd-core/src/main/java/jodd/cache/AbstractCacheMap.java
@Override
	public void put(final K key, final V object, final long timeout) {
		Objects.requireNonNull(object);

		final long stamp = lock.writeLock();

		try {
			CacheObject<K,V> co = new CacheObject<>(key, object, timeout);
			if (timeout != 0) {
				existCustomTimeout = true;
			}
			if (isReallyFull(key)) {
				pruneCache();
			}
			cacheMap.put(key, co);
		}
		finally {
			lock.unlockWrite(stamp);
		}
	}
@Override
	public void put(final K key, final V object, final long timeout) {
		Objects.requireNonNull(object);

		final long stamp = lock.writeLock();

		try {
			CacheObject<K,V> co = new CacheObject<>(key, object, timeout);
			if (timeout != 0) {
				existCustomTimeout = true;
			}
			if (isReallyFull(key)) {
				pruneCache();
			}
			cacheMap.put(key, co);
		}
		finally {
			lock.unlockWrite(stamp);
		}
	}
{@inheritDoc}