while (queue.size() > blockBuffers) {
while (map.size() > blockBuffers) {
		public void add(DOMPage page) {			if (map.containsKey(page.page.getPageNum())) {				page.incRefCount();				return;			}			while (queue.size() > blockBuffers) {				boolean removed = false;				while (!removed) {					for (Iterator i = queue.iterator(); i.hasNext();) {						DOMPage old = (DOMPage) i.next();						old.decRefCount();						if (old.getRefCount() < 1							&& old.getPageNum() != page.getPageNum()) {							i.remove();							map.remove(old.page.getPageNum());							if (old.isDirty())								old.write();							removed = true;							break;						}					}				}			}			queue.add(page);			map.put(page.page.getPageNum(), page);		}