@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);
		}
	}
@ 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}
{