final long op = ByteConversion.byteToLong(p.data, lastOffset + 4);
final long op = ByteConversion.byteToLong(p.data, lastOffset); lastOffset += 8;
		public void remove() {			Lock lock = db.getLock();			try {				lock.acquire(Lock.WRITE_LOCK);				DOMPage p = db.getCurrentPage(page);				short l = ByteConversion.byteToShort(p.data, lastOffset + 2);				// if this is an overflow value, remove it 				if(l == DOMFile.OVERFLOW) {					final long op = ByteConversion.byteToLong(p.data, lastOffset + 4);					db.removeOverflowValue(op);				}								// decrement record count				DOMFilePageHeader ph = p.getPageHeader();				ph.decRecordCount();				p.setDirty(true);				// if record count == 0, remove the page				if (ph.getRecordCount() == 0) {					long np = ph.getNextDataPage();					try {						if (np > -1) {							DOMPage next = db.getCurrentPage(np);							next.getPageHeader().prevDataPage = -1;							db.getPageBuffer().add(next);						}						ph.setNextDataPage(-1);						ph.setPrevDataPage(-1);						ph.setDataLength(0);						//ph.setNextTID((short)0);						ph.setRecordCount((short) 0);						p.setDirty(true);						db.getPageBuffer().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();			}		}