docs: private Object storeCachedObject(K key, CachedObject<V> co) {
  		//data is only locked if cleanup removes cached objects
  		synchronized (data) {
  			data.put(key, co);
  		}
  		//mirror is also locked if cleanup is busy collecting cached objects
  		synchronized (mirror) {
  			mirror.put(key, co);
  		}
  		System.out.println(new LogEntry("object with key " + key + " stored in cache"));
  		return co;
  	}