LOG.debug("REMOVING " + old.getKey());
	protected Cacheable removeOne(Cacheable item) {		int bucket = -1;		Cacheable old;		do {			for (int i = 0; i < count; i++) {				old = items[i];				if (old == null) {					bucket = i;				} else {					if (old.getReferenceCount() == 0 && old.allowUnload()) {						if (bucket < 0)							bucket = i;					} else						old.setReferenceCount(0);				}			}		} while (bucket < 0);		old = items[bucket];		if (old != null) {			map.remove(old.getKey());			old.sync();		}		items[bucket] = item;		map.put(item.getKey(), item);		return old;	}