if(System.currentTimeMillis() - lastSync > syncPeriod) { flush(); }
	public void add(Cacheable item, int initialRefCount) {		Cacheable old = (Cacheable) map.get(item.getKey());		if (old != null) {			old.incReferenceCount();			totalReferences++;		} else {			item.setReferenceCount(initialRefCount);			item.setTimestamp(totalReferences);			if (count < size) {				items[count++] = item;				map.put(item.getKey(), item);			} else				removeOne(item);			totalReferences += initialRefCount;		}		if(totalReferences > maxReferences)			cleanup();		else if (totalReferences > nextCleanup)			ageReferences();	}