page = np; offset = 0;
} catch (LockException e) { LOG.warn(e); } finally { lock.release(lockKey);
		public void remove() {			Lock lock = db.getLock();			try {				lock.acquire(lockKey, Lock.WRITE_LOCK);				lock.enter(lockKey);				DOMPage p = null;				p = db.getCurrentPage(page);				DOMFilePageHeader ph = p.getPageHeader();				ph.decRecordCount();				p.setDirty(true);				if (ph.getRecordCount() == 0) {					long np = ph.getNextDataPage();					try {						if(np > -1) {							DOMPage next = getCurrentPage(np);							next.getPageHeader().prevDataPage = -1;							db.buffer.add(next);						}						ph.setNextDataPage(-1);						ph.setPrevDataPage(-1);						ph.setDataLength(0);						//ph.setNextTID((short)0);						ph.setRecordCount((short) 0);						p.setDirty(true);						db.buffer.remove(p);						db.unlinkPages(p.page);					} catch (IOException ioe) {						LOG.warn(ioe);					}					page = np;					offset = 0;				}			} catch (LockException e) {				LOG.warn(e);			} finally {				lock.release(lockKey);			}		}