public synchronized Object put(Object key, Object value) {
public synchronized V put(K key, V value) {
    public synchronized Object put(Object key, Object value) {        if ((key == null) || (value == null)) return null;        if (cache.containsKey(key)) {            lru.remove(key);        } else {            if (cache.size() == maxSize) { // must remove one element                Object keyToNix = lru.removeFirst();                cache.remove(key);            }        }        lru.addLast(key);        cache.put(key, value);        return value;    }